about summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
* 3175Kartik K. Agaram2016-08-131-1/+0
|
* 3174Kartik K. Agaram2016-08-1212-93/+178
|
* 3173Kartik K. Agaram2016-08-121-23/+23
|
* 3172Kartik K. Agaram2016-08-122-4/+4
| | | | Fix CI.
* 3171 - new commandline flag: --traceKartik K. Agaram2016-08-121-2/+11
| | | | | | | | The edit/ app without tracing turned on takes 22s to load up a reasonably complex file and run 12 scenarios. Turn on tracing, and it takes 68s. Turn on tracing just for app-level stashes, and it still takes 40s. That's too much overhead, so let's keep it turned off by default but give students an option to enable it at the commandline.
* 3170 - multiple --options at the commandlineKartik K. Agaram2016-08-123-28/+53
| | | | | | | | The mu commandline now has four parts: options, commands (of which we only have one so far: 'test'), files/directories and ingredients to pass to 'main'. That cleans up the hacky ordering constraint we had earlier. I've also cleaned up the usage message.
* 3169Kartik K. Agaram2016-08-121-15/+19
| | | | | Fix a bug with --test-only-app: the "App tests" header was only printing after some app tests had run.
* 3168 - skip loading recipe 'main' in edit/Kartik K. Agaram2016-08-128-28/+46
| | | | | | | This is part of efforts to allow students to transition gradually from the sandbox to running programs directly on the commandline, writing real scenarios, etc. Running on the commandline requires 'main', but overriding 'main' would mess up edit/ which is itself a Mu program.
* 3167Kartik K. Agaram2016-08-121-0/+6
|
* 3166Kartik K. Agaram2016-08-121-0/+7
|
* 3165Kartik K. Agaram2016-08-101-1/+1
|
* 3164Kartik K. Agaram2016-08-091-0/+1
| | | | | Have $print in console mode rotate through the screen rather than simply block at the bottom.
* 3163Kartik K. Agaram2016-08-092-3/+20
| | | | | | | | | | | | | | | | | | | | | | | | Experimental: kinda support $print in console mode. It's not perfect and probably will never be, because 'cout' buffers differently from termbox primitives, which can cause console-aware newlines to show up before other (console-oblivious) prints, like in this example program: def main [ open-console $print [abc], 10/newline $print [def], 10/newline wait-for-some-interaction close-console ] And then there's the problem that there's no way for cout to update Display_column. So mixing $print and print will be confusing. Perhaps we should just not mess with Display_* variables inside $print? But then we'll only ever be able to see a single line of $print at a time.
* 3162Kartik K. Agaram2016-08-091-3/+5
|
* 3161Kartik K. Agaram2016-08-091-5/+0
| | | | | | | | | Toss out Scenario_names. It's only checking if we load duplicate scenarios, and we have independent checks for *running* duplicate scenarios. This has the salubrious effect of also allowing lessons to contain regular text scenarios interspersed with their recipes.
* 3160Kartik K. Agaram2016-08-091-9/+1
| | | | Thanks Ella Couch for running into this source of crashes.
* 3159 - pause the lambda->mu translator for a bitKartik K. Agaram2016-08-071-0/+18
| | | | | | | | I'm going to focus on two projects for a while: a) the testable interface for file system and network b) a compiler translating some language to x86 b) might require first gaining some experience programming in Assembly.
* 3158Kartik K. Agaram2016-07-2746-319/+1162
|
* 3157 - more testable 'random' interfaceKartik K. Agaram2016-07-272-4/+59
| | | | Shouldn't break any existing programs using 'random'.
* 3156Kartik K. Agaram2016-07-272-19/+30
| | | | Make 'stream' generic.
* 3155Kartik K. Agaram2016-07-272-4/+4
|
* 3154 - reorg before making 'random' more testableKartik K. Agaram2016-07-2710-0/+0
|
* 3153Kartik K. Agaram2016-07-241-2/+4
|
* 3152Kartik K. Agaram2016-07-241-16/+32
|
* 3151Kartik K. Agaram2016-07-241-1/+3
|
* 3150 - done with parser for s-expressionsKartik K. Agaram2016-07-241-3/+78
|
* 3149Kartik K. Agaram2016-07-241-3/+3
|
* 3148Kartik K. Agaram2016-07-241-0/+17
|
* 3147Kartik K. Agaram2016-07-241-18/+18
|
* 3146Kartik K. Agaram2016-07-241-11/+72
|
* 3145Kartik K. Agaram2016-07-241-4/+48
|
* 3144Kartik K. Agaram2016-07-242-6/+58
| | | | | Fix a bug in phase ordering discovered while trying to stash cells in the lambda compiler.
* 3143Kartik K. Agaram2016-07-241-2/+2
| | | | Fix CI.
* 3142Kartik K. Agaram2016-07-241-24/+43
| | | | | Rewrite ingredients for 'trace' instructions just like 'stash' instructions.
* 3141Kartik K. Agaram2016-07-241-5/+9
| | | | | | | | | Thanks Stephen Malina for helping run into this hole in support for compound types. When I created that assert (commit 2381, Nov 2015) I was thinking only of type ingredients, and didn't realize that compound types could have internal nodes with zero values.
* 3140Kartik K. Agaram2016-07-232-10/+37
| | | | | Manual tests for parse errors because scenarios can't handle assertion failures yet.
* 3139Kartik K. Agaram2016-07-231-2/+6
|
* 3138Kartik K. Agaram2016-07-231-12/+90
|
* 3137Kartik K. Agaram2016-07-224-2/+38
| | | | | | | | | | | | | | | | | | Complicated logic to not run core tests. I only want to disable core tests if: a) I'm changing CFLAGS on the commandline (usually to disable optimizations, causing tests to run slower in a debug cycle) b) I'm not printing a help message (either with just 'mu' or 'mu --help') c) I'm loading other files besides just the core. Under these circumstances I only want to run tests in the files explicitly loaded at the commandline. This is all pretty hairy, in spite of my attempts to document it in four different places. I might end up taking it all out the first time I need to run core tests under all these conditions.
* 3136Kartik K. Agaram2016-07-221-2/+0
|
* 3135Kartik K. Agaram2016-07-221-5/+14
| | | | Parsing pairs of atoms.
* 3134Kartik K. Agaram2016-07-221-1/+1
|
* 3133Kartik K. Agaram2016-07-221-1/+1
| | | | Don't die if an instruction accidentally has too many products.
* 3132Kartik K. Agaram2016-07-221-21/+19
|
* 3131Kartik K. Agaram2016-07-222-4/+55
| | | | | Reorganize parser to make room for parsing pairs. But first test for pairs is still failing.
* 3130Kartik K. Agaram2016-07-221-3/+20
| | | | Handle multi-character atoms.
* 3129Kartik K. Agaram2016-07-222-0/+39
| | | | Degenerate 'parser' that handles just atoms of one character.
* 3128Kartik K. Agaram2016-07-221-1/+2
|
* 3127Kartik K. Agaram2016-07-221-0/+43
|
* 3126Kartik K. Agaram2016-07-224-16/+3
|