about summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
* 1848 - core instructions now check for ingredientsKartik K. Agaram2015-07-2528-154/+358
| | | | Also standardized warnings.
* 1847Kartik K. Agaram2015-07-251-2/+2
|
* 1846Kartik K. Agaram2015-07-253-6/+6
|
* 1845 - never ever redefine the scenario's recipeKartik K. Agaram2015-07-252-7/+27
| | | | | | A couple of times now I've accidentally named a scenario the same thing as a recipe inside it that I define using 'run' or something. The resulting infinite loop is invariably non-trivial to debug.
* 1844 - explicitly end each trace lineKartik K. Agaram2015-07-2529-203/+205
| | | | | | | | | More verbose, but it saves trouble when debugging; there's never something you thought should be traced but just never came out the other end. Also got rid of fatal errors entirely. Everything's a warning now, and code after a warning isn't guaranteed to run.
* 1843Kartik K. Agaram2015-07-241-0/+4
|
* 1842 - get layers building again after 2 weeksKartik K. Agaram2015-07-246-121/+120
| | | | | Also, turns out I haven't been building 999spaces.cc in my default build. Now fixed.
* 1841 - reenable old layersKartik K. Agaram2015-07-242-9/+16
|
* 1840Kartik K. Agaram2015-07-241-1/+0
|
* 1839 - clear entire screen on F10Kartik K. Agaram2015-07-241-2/+14
| | | | | Just in case we had many lines of warnings before that are now cleared up. Again, I'm feeling confident enough to not write a test.
* 1838Kartik K. Agaram2015-07-241-17/+19
|
* 1837Kartik K. Agaram2015-07-241-4/+4
| | | | | | Don't die on unbalanced '{'. I won't bother adding more tests for warnings. Suffice it to say that we need to gradually eliminate all asserts that check for illegal mu code.
* 1836Kartik K. Agaram2015-07-241-2/+8
|
* 1835Kartik K. Agaram2015-07-241-3/+12
|
* 1834Kartik K. Agaram2015-07-241-4/+8
|
* 1833Kartik K. Agaram2015-07-241-1/+8
|
* 1832Kartik K. Agaram2015-07-244-3/+38
|
* 1831Kartik K. Agaram2015-07-241-0/+28
|
* 1830Kartik K. Agaram2015-07-234-7/+10
|
* 1829Kartik K. Agaram2015-07-233-7/+38
|
* 1828Kartik K. Agaram2015-07-231-6/+6
|
* 1827Kartik K. Agaram2015-07-231-2/+2
|
* 1826 - edit: start carefully showing all errorsKartik K. Agaram2015-07-214-4/+55
| | | | | | | | | | | | | | | | | | | | | Eventually we might be able to get rid of die entirely. This is just a preliminary stab at a random error. In the process I ran into two issues that have impeded debugging before: a) Naming conflicts within scenarios are a real no-no. I need to warn on them, but the rules are getting complicated: Always print warnings on redefine But not in interactive mode Or in scenarios checking warning behavior Unless the scenario recipe itself is overridden b) Now that we've added collect_layers and a long time can go between traces, debugging is a minefield because trace lines don't print to screen immediately after they're created. Need to do something about that. Maybe explicitly trigger collection by tracing '\n' or something. These are the next two items on my todo list.
* 1825Kartik K. Agaram2015-07-211-0/+10
|
* 1824Kartik K. Agaram2015-07-201-1/+2
|
* 1823 - restore sandboxes from previous sessionKartik K. Agaram2015-07-192-7/+43
| | | | | | Starting to feel some need to test this persistence support. Next time I'll create a fake storage handle and support for 'assume-storage filename'.
* 1822Kartik K. Agaram2015-07-193-11/+11
|
* 1821Kartik K. Agaram2015-07-191-82/+82
|
* 1820Kartik K. Agaram2015-07-191-2/+2
|
* 1819Kartik K. Agaram2015-07-181-0/+0
| | | | How did this image get corrupted?
* 1818Kartik K. Agaram2015-07-1828-382/+1785
|
* 1817 - save for sandboxesKartik K. Agaram2015-07-182-10/+34
| | | | | | | No restore. We'll have to do that manually for the first lesson. The version control is also super ugly; every save creates a new commit. But that's ok; version control is just the backup of last resort.
* 1816 - ack, accidental namespace collisionKartik K. Agaram2015-07-182-5/+5
|
* 1815 - git commit only if lesson/.git existsKartik K. Agaram2015-07-181-0/+10
| | | | | We want to avoid accidentally mixing lessons into ourselves. Require users to git-enable it first.
* 1814 - save code in editorKartik K. Agaram2015-07-185-14/+62
| | | | | | | Very rudimentary ability to read/write from file+version control. No control over name. Recipes now saved. But what to do about sandboxes?
* 1813 - ignore strings when highlightingKartik K. Agaram2015-07-181-116/+2
| | | | | Otherwise can't use colors inside recipes! This will do for now, until we start distinguishing '[' at end of line.
* 1812 - brighter comment colorKartik K. Agaram2015-07-181-5/+5
|
* 1811 - simple coloring inside editorsKartik K. Agaram2015-07-181-2/+227
| | | | | Nice to get a couple of easy wins under my belt after the troubles with memory corruption.
* 1810Kartik K. Agaram2015-07-171-5/+5
|
* 1809 - simple example for first showing to studentsKartik K. Agaram2015-07-171-45/+6
|
* 1808 - helper to print newlines during debuggingKartik K. Agaram2015-07-176-136/+54
| | | | | | | The recent session makes me weary of deleting comment counts from inside strings, and the newlines everywhere take up vertical space. Considered println like pascal/ruby, but I'd like something I can add/remove at the end of existing prints. So this hack for $print.
* 1807 - all tests passing againKartik K. Agaram2015-07-171-14/+14
| | | | | | | | | | | | | | | | | | | Rendering the screen was easy to fix: I'd just never gotten around to printing anything but spaces. Rendering the 'screen:' was harder. Turned out I wasn't incrementing row, and so the screen contents were overwriting the header. Much fiddling with row ensued. Still unclear if I have a sane policy for managing row. I don't leave cursor on start of next line after render-string (relying on run-interactive to return strings terminated by newlines) but I do so in render-screen. Never mind, all architecture is illusion and all programs sit on the edge of chaos. This is just the best way I know how to permit others to periodically reclaim architecture from chaos by expending energy. But it'll never be perfect. Crash-only architecture for the win.
* 1805 - bring back sandbox deletionKartik K. Agaram2015-07-171-9/+167
| | | | | | | Between it and support for printing screens our tests take twice as long to run as they did two days ago. Still the one failing test. Finishing all this cleanup first.
* 1804Kartik K. Agaram2015-07-171-16/+16
|
* 1803Kartik K. Agaram2015-07-172-10/+11
| | | | | Bring back my optimizations for avoiding unnecessary work. But they shouldn't be needed for correctness, and they aren't.
* 1802 - cleanupKartik K. Agaram2015-07-174-92/+49
|
* 1801 - assertion failures fixedKartik K. Agaram2015-07-171-12/+11
| | | | | | Now we can investigate the remaining issues: print-string to main screen not working to print 'screen:' print-integer to toy screen not working to print '4'
* 1800 - ah, found the bounds-checking bugKartik K. Agaram2015-07-174-55/+168
| | | | I was counting locations when I should have been counting elements.
* 1799 - continue to debug memory corruption of 1795Kartik K. Agaram2015-07-177-240/+329
| | | | | | | | | | | | Things I figured out: - 'row' in render-screen doesn't perfectly track cursor-row in screen - proximal cause was forgetting to add left:number to stop-printing - trying to print to screen outside bounds was silently succeeding and corrupting simulated memory - if we silently ignore prints outside bounds things are fine But why are prints outside screen bounds working? We should be accessing screen data using 'index', and that's checking its bounds.
* 1798 - support for deleting sandboxesKartik K. Agaram2015-07-161-1/+144
|