about summary refs log tree commit diff stats
path: root/edit
Commit message (Expand)AuthorAgeFilesLines
...
* 2589 - tweak color for sandbox labelsKartik K. Agaram2016-01-221-2/+2
* 2588 - bugfix: show *first* sandbox with errorKartik K. Agaram2016-01-221-1/+55
* 2587 - bugfix: show-screen on warningsKartik K. Agaram2016-01-221-1/+0
* 2586 - show first sandbox with error in statusKartik K. Agaram2016-01-224-17/+69
* 2585 - label sandboxes with a numberKartik K. Agaram2016-01-226-29/+38
* 2580 - check product type of 'maybe-convert'Kartik K. Agaram2016-01-201-10/+10
* 2576 - distinguish allocated addresses from othersKartik K. Agaram2016-01-1911-1257/+1257
* 2558Kartik K. Agaram2016-01-121-2/+5
* 2548 - teach 'print' to print integersKartik K. Agaram2015-12-286-21/+38
* three bugs fixedKartik K. Agaram2015-12-152-0/+65
* rest of edit/ fixedKartik K. Agaram2015-12-154-8/+8
* layer 3 of edit/ now workingKartik K. Agaram2015-12-151-6/+8
* layers 1 and 2 of edit/ now workingKartik K. Agaram2015-12-152-5/+5
* 2480Kartik K. Agaram2015-11-271-2/+2
* 2477Kartik K. Agaram2015-11-271-2/+2
* 2476Kartik K. Agaram2015-11-271-1/+1
* 2474 - overload 'copy' and 'equal' for textKartik K. Agaram2015-11-221-1/+1
* 2471Kartik K. Agaram2015-11-221-4/+0
* 2468 - overload print-character as just 'print'Kartik K. Agaram2015-11-217-31/+31
* 2467 - rename 'string' to 'text' everywhereKartik K. Agaram2015-11-216-24/+24
* 2466 - eliminate ':string' from scenariosKartik K. Agaram2015-11-211-1/+1
* 2464: edit/: update errors in shape-shifting recipesKartik K. Agaram2015-11-191-0/+49
* 2460 - headers for remaining recipesKartik K. Agaram2015-11-181-3/+3
* 2458 - edit/: recipe side free of sandbox errorsKartik K. Agaram2015-11-181-0/+35
* 2451 - drop zoom/maximize featureKartik K. Agaram2015-11-151-125/+0
* 2446 - drop '-duplex' namespacing in recipesKartik K. Agaram2015-11-156-77/+77
* 2442Kartik K. Agaram2015-11-152-4/+2
* 2441 - never miss any specializationsKartik K. Agaram2015-11-152-2/+4
* 2428 - sandbox/ working againKartik K. Agaram2015-11-121-1/+0
* 2422 - a bugfix from the last lessonKartik K. Agaram2015-11-101-1/+59
* 2417 - support mutable ingredients in headersKartik K. Agaram2015-11-105-19/+20
* 2404 - ah, finally a useful assertionKartik K. Agaram2015-11-081-3/+0
* 2397Kartik K. Agaram2015-11-081-1/+1
* 2388 - final layer of edit/ loaded successfullyKartik K. Agaram2015-11-071-37/+36
* 2376Kartik K. Agaram2015-11-051-7/+7
* 2375 - layer 9 doneKartik K. Agaram2015-11-051-6/+5
* 2374 - now edit works until layer 8Kartik K. Agaram2015-11-054-79/+73
* 2371 - layer 5 of editKartik K. Agaram2015-11-054-68/+45
* 2370 - layers 1-4 of edit are backKartik K. Agaram2015-11-054-353/+312
* 2369 - layer 1 of edit is backKartik K. Agaram2015-11-051-27/+16
* 2368 - start getting edit working againKartik K. Agaram2015-11-051-16/+11
* 2309Kartik K. Agaram2015-10-2811-468/+468
* 2267Kartik K. Agaram2015-10-091-1/+1
* 2260 - start tracing by depth rather than labelKartik K. Agaram2015-10-067-25/+25
* 2247 - type-check products of non-primitive recipesKartik K. Agaram2015-10-053-14/+14
* 2234 - check type of get's productKartik K. Agaram2015-10-021-9/+9
* 2227 - offset-checking for containersKartik K. Agaram2015-10-011-7/+23
* 2226 - standardize warning formatKartik K. Agaram2015-10-011-5/+5
* 2218 - check types in instructions much earlierKartik K. Agaram2015-09-301-1/+1
* 2216Kartik K. Agaram2015-09-292-1/+13
class="nv">k1, x:_elem, a-done?:bool <- call k1 k2, y:_elem, b-done?:bool <- call k2 break-if a-done? break-if b-done? match?:bool <- equal x, y return-unless match?, false loop } result <- and a-done?, b-done? ] # harness around traversal def process t:&:tree:_elem [ local-scope load-inputs return-continuation-until-mark 100/mark # initial traverse t zero-val:&:_elem <- new _elem:type return-continuation-until-mark 100/mark, *zero-val, true/done # final assert false, [continuation called past done] ] # core traversal def traverse t:&:tree:_elem [ local-scope load-inputs return-unless t l:&:tree:_elem <- get *t, left:offset traverse l r:&:tree:_elem <- get *t, right:offset traverse r return-if l return-if r # leaf v:_elem <- get *t, val:offset return-continuation-until-mark 100/mark, v, false/not-done ] # details def new-tree x:_elem -> result:&:tree:_elem [ local-scope load-inputs result <- new {(tree _elem): type} put *result, val:offset, x ] def new-tree l:&:tree:_elem, r:&:tree:_elem -> result:&:tree:_elem [ local-scope load-inputs result <- new {(tree _elem): type} put *result, left:offset, l put *result, right:offset, r ]