about summary refs log tree commit diff stats
path: root/012transform.cc
Commit message (Collapse)AuthorAgeFilesLines
* 2494Kartik K. Agaram2015-11-281-0/+8
| | | | | Some more structure to transforms, and flattening of dependencies between them.
* 2458 - edit/: recipe side free of sandbox errorsKartik K. Agaram2015-11-181-0/+1
| | | | | | | | | This is happening because of our recent generic changes, which trigger some post-processing transforms on all recipes even if we processed them before. We could clear 'interactive' inside 'reload' to avoid this, but random 'run' blocks in scenarios can still pick up errors from sandboxes earlier in a scenario. The right place to clear the 'interactive' recipe is right after we use it, in run_code_end().
* 2393 - redo 2391Kartik K. Agaram2015-11-071-1/+1
| | | | | | | | | | | Got that idea to work with a special-case for 'new'. Requires parsing new's first ingredient, performing the replacement, and then turning it back into a string. I didn't want to replace NEW with ALLOCATE right here, because then it messes with my invariant that transform should never see a naked ALLOCATE. Layer 11 still not working, but everything else is. Let's clean up before we diagnose the new breakage.
* 2392 - undo 2391Kartik K. Agaram2015-11-071-1/+1
| | | | Yup, type ingredients were taking size 1 by default.
* 2391Kartik K. Agaram2015-11-071-1/+1
| | | | | | | | | | | | | No, my idea was abortive. My new plan was to run no transforms for generic recipes, and instead only run them on concrete specializations as they're created. The trouble with this approach is that new contains a type specification in its ingredient which apparently needed to be transformed into an allocate before specialization. But no, how was that working? How was new computing size based on type ingredients? It might have been wrong all along.
* 2382Kartik K. Agaram2015-11-061-0/+1
| | | | Starting to leave commented out prints again out of desperation.
* 2374 - now edit works until layer 8Kartik K. Agaram2015-11-051-4/+0
|
* 2373 - bad bug: instruction was losing /lookupKartik K. Agaram2015-11-051-0/+4
|
* 2364Kartik K. Agaram2015-11-051-0/+10
|
* 2358 - starting to tackle the phase ordering problemKartik K. Agaram2015-11-041-1/+5
| | | | | | | A new externality is starting to make its presence felt. Until I sort this out it's going to be hard to finish making duplex-list generic.
* 2316 - preparing for static dispatchKartik K. Agaram2015-10-291-1/+2
|
* 2311Kartik K. Agaram2015-10-291-0/+4
|
* 2154 - check types only after loading all layersKartik K. Agaram2015-09-051-0/+1
| | | | | Follow-up to 2147, which switched transform_all to only run once, after loading all layers.
* 2095Kartik K. Agaram2015-08-281-2/+0
| | | | | | | | | | | | Finally terminate the experiment of keeping debug prints around. I'm also going to give up on maintaining counts. What we really need is two kinds of tracing: a) For tests, just the domain-specific facts, organized by labels. b) For debugging, just transient dumps to stdout. b) only works if stdout is clean by default. Hmm, I think this means 'stash' should be the transient kind of trace.
* 1702 - experiment: start using 'ordinal' in namesKartik K. Agaram2015-07-041-4/+4
| | | | | | | It comes up pretty early in the codebase, but hopefully won't come up in the mu level until we get to higher-order recipes. Potentially intimidating name, but such prime real estate with no confusing overloadings in other projects!
* 1699 - first-class recipe typesKartik K. Agaram2015-07-031-0/+1
| | | | | It should now be easy to do dynamic dispatch, create higher-order functions, etc.
* 1399 - better 'unknown type' warningsKartik K. Agaram2015-05-181-1/+1
| | | | | | | | Implement warnings for types without definitions without constraining where type definitions must appear. We also eliminate the anti-pattern where a change in layer 10 had its test in layer 11 (commit 1383).
* 1391 - avoid unsigned integersKartik K. Agaram2015-05-171-5/+5
|
* 1387Kartik K. Agaram2015-05-161-2/+2
|
* 1357 - temporarily revert floating-point supportKartik K. Agaram2015-05-121-1/+1
|
* 1356 - snapshot #2: floating point supportKartik K. Agaram2015-05-121-1/+1
| | | | | | | | | | | | | | | I added one test to check that divide can return a float, then hacked at the rippling failures across the entire entire codebase until all tests pass. Now I need to look at the changes I made and see if there's a system to them, identify other places that I missed, and figure out the best way to cover all cases. I also need to show real rather than encoded values in the traces, but I can't use value() inside reagent methods because of the name clash with the member variable. So let's take a snapshot before we attempt any refactoring. This was non-trivial to get right. Even if I convince myself that I've gotten it right, I might back this all out if I can't easily *persuade others* that I've gotten it right.
* 1343Kartik K. Agaram2015-05-111-1/+1
|
* 1323 - keyboard supports backspace and newlineKartik K. Agaram2015-05-101-5/+2
| | | | | | Lots mixed into this commit: some off-by-one errors in display.cc a new transform to translate jump labels that I'd somehow never gotten around to supporting
* 1299 - stop using [] in any vectorKartik K. Agaram2015-05-071-4/+4
| | | | | | | | | Useful check: $ grep "[^ '\"]\[[^\"]" *.cc \ |perl -pwe 's/\Wargv\[|\WTests\[|\Wframe\[|\WMemory\[|\WName\[|\WSurrounding_space\[|\WRecipe\[|\WType\[|\WRecipe_number\[|\WType_number\[|\WBefore_fragments\[|\WAfter_fragments\[//g' \ |perl -pwe 's/\Wargv\[|\WTests\[|\Wframe\[|\WMemory\[|\WName\[|\WSurrounding_space\[|\WRecipe\[|\WType\[|\WRecipe_number\[|\WType_number\[|\WBefore_fragments\[|\WAfter_fragments\[//g' \ |grep '[^ ]\['
* 1276 - make C++ version the defaultKartik K. Agaram2015-05-051-0/+55
I've tried to update the Readme, but there are at least a couple of issues.