about summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
* 2319Kartik K. Agaram2015-10-291-2/+3
|
* 2318Kartik K. Agaram2015-10-291-1/+1
| | | | Forgot to run against valgrind.
* 2317Kartik K. Agaram2015-10-292-0/+0
|
* 2316 - preparing for static dispatchKartik K. Agaram2015-10-294-16/+28
|
* 2315Kartik K. Agaram2015-10-291-2/+2
|
* 2314 - final tweaks to traceKartik K. Agaram2015-10-293-2/+4
| | | | | | | | I checked these commands: $ mu x.mu $ grep "===" .traces/interactive $ grep "===\|---" .traces/interactive
* 2313Kartik K. Agaram2015-10-2912-35/+32
|
* 2312Kartik K. Agaram2015-10-294-5/+6
|
* 2311Kartik K. Agaram2015-10-2911-80/+85
|
* 2310 - add some more tracingKartik K. Agaram2015-10-293-4/+14
| | | | | | | | | | | I've been growing lax on white-box testing when it's one of the three big thrusts of this whole effort. Perhaps it was because I got too obsessed with keeping traces stable and didn't notice that stable doesn't mean "not changing". Or perhaps it's because I still don't have a zoomable trace browser that can parse traces from disk. Or perhaps $trace-browser is too clunky and discourages me from using it. Regardless, I need to make the trace useable again before I work much more on the next few rewriting transforms.
* 2309Kartik K. Agaram2015-10-2821-892/+892
|
* 2308 - auto-reply on fall-throughKartik K. Agaram2015-10-281-0/+30
|
* 2307Kartik K. Agaram2015-10-281-0/+5
|
* 2306 - recipe headersKartik K. Agaram2015-10-2810-16/+132
| | | | | | | | | | Once a student has gotten used to recipes and ingredients using the staged 'next-ingredient' approach there's no reason to avoid conventional function headers. As an added bonus we can now: a) check that all 'reply' instructions in a recipe are consistent b) deduce what to reply without needing to say so everytime c) start thinking about type parameters for recipes (generic functions!)
* 2305Kartik K. Agaram2015-10-281-1/+1
|
* 2304Kartik K. Agaram2015-10-281-2/+2
| | | | | I no longer have any null types! That raises confidence that I'm on the right track.
* 2302 - restarting test_all_layers from a layerKartik K. Agaram2015-10-281-0/+1
|
* 2301 - test_all_layers fixesKartik K. Agaram2015-10-283-11/+11
|
* 2300 - remove callcc.mu from docs until it returnsKartik K. Agaram2015-10-282-54/+0
|
* 2299 - check types of ingredients in callsKartik K. Agaram2015-10-2812-64/+108
| | | | | | | | | | Still very incomplete: a) we perform the check at runtime b) tests for edit and sandbox apps no longer work; we can't fix them until we get type parameters in both containers and recipes (because list and list operations need to become generic).
* 2298Kartik K. Agaram2015-10-281-1/+1
|
* 2297Kartik K. Agaram2015-10-286-22/+27
|
* 2296 - record ingredient types on call stackKartik K. Agaram2015-10-282-0/+3
| | | | | As we perform type-checking earlier we'll delete these checks. But start with type-checking at run-time.
* 2295 - drop first-class recipes and continuationsKartik K. Agaram2015-10-287-380/+9
| | | | Making life too complex at this time.
* 2294Kartik K. Agaram2015-10-286-13/+35
| | | | Bah, sick of CALL and continuations.
* 2293Kartik K. Agaram2015-10-276-22/+43
|
* 2292Kartik K. Agaram2015-10-272-5/+5
|
* 2291 - parsing property treesKartik K. Agaram2015-10-273-9/+50
|
* 2290Kartik K. Agaram2015-10-271-10/+7
|
* 2289Kartik K. Agaram2015-10-271-11/+3
| | | | | | | | | | | | | | | | Now dilated reagent parsing is much simpler. We still can't parse nested hashes. We may never need that. For now the syntax model is: program = collection of top levels top-level contains a list of lines lines may be instructions instructions have reagents reagents can be in compressed or dilated syntax (or literal strings) property values inside reagents can be s-expression trees We balance {} inside top-levels, [] inside strings, and () inside property values.
* 2288Kartik K. Agaram2015-10-272-3/+6
| | | | | | | Make it easy to skip distracting valgrind errors when debugging more obvious errors in early layers. Just throw a 'test' at the end of build_and_test_until commands to not run valgrind (and make it a regular test run).
* 2287 - new lexing rulesKartik K. Agaram2015-10-271-5/+14
| | | | | Now we always consider words to be terminated at () and {}. We also always skip commas.
* 2286Kartik K. Agaram2015-10-273-3/+4
|
* 2285Kartik K. Agaram2015-10-261-2/+3
| | | | Still trying to come up with clean lexing rules.
* 2284Kartik K. Agaram2015-10-263-15/+15
|
* 2283 - represent each /property as a treeKartik K. Agaram2015-10-2619-94/+150
|
* 2282Kartik K. Agaram2015-10-265-53/+59
| | | | | Switch format for tracing reagents in preparation for trees rather than arrays of properties.
* 2281Kartik K. Agaram2015-10-262-25/+24
|
* 2280Kartik K. Agaram2015-10-262-4/+4
|
* 2279Kartik K. Agaram2015-10-261-1/+1
|
* 2278Kartik K. Agaram2015-10-261-2/+2
|
* 2277 - reagents now have a tree of typesKartik K. Agaram2015-10-2522-237/+337
|
* 2276Kartik K. Agaram2015-10-251-1/+1
|
* 2275Kartik K. Agaram2015-10-251-0/+1
|
* 2274Kartik K. Agaram2015-10-252-3/+7
|
* 2273 - start expanding the type systemKartik K. Agaram2015-10-253-7/+118
| | | | | | | | | | | | | | Current plan: parsing {x: foo, y: bar} syntax for reagents parsing s-expr syntax for properties supporting reverse instructions (<-) parsing s-expr syntax for recipe headers (recipe number number -> number) static dispatch generic functions type-checking higher-order functions type of delimited continuations? need more type information First step is done, and the second partially so.
* 2272Kartik K. Agaram2015-10-192-3/+18
|
* 2271 - bugfix: traces cross-contaminating errorsKartik K. Agaram2015-10-199-17/+62
| | | | | | | | | | | | | | | | | | There were several places where we push a call on to a routine without incrementing call-stack depth, which was used to compute the depth at which to trace an instruction. So sometimes you ended up one depth lower than you started a call with. Do this enough times and instructions that should be traced at level 100 end up at level 0 and pop up as errors. Solution: since call-stack depth is only used for tracing, include it in the trace stream and make sure we reset it along with the trace stream. Then catch all places where we forget to increment call-stack depth and make sure we catch such places in the future. When I first ran into this with Caleb I thought there must be some way that we're writing some output into the warnings result. I didn't recognize that the spurious output as part of the trace, just at the wrong level.
* 2270Kartik K. Agaram2015-10-124-5/+5
| | | | Thanks Caleb Couch.
* 2269Kartik K. Agaram2015-10-091-1/+12
| | | | Another bugfix. Thanks Jack and Caleb Couch.