about summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
* 720 - substring matching and searchingKartik K. Agaram2015-02-082-5/+231
|
* 718 - disable raw memory warnings in testsKartik K. Agaram2015-02-085-8/+15
|
* 717Kartik K. Agaram2015-02-081-0/+1
|
* 716 - warn when writing to raw memoryKartik K. Agaram2015-02-081-0/+17
|
* 715 - support metadata in top-level namesKartik K. Agaram2015-02-081-1/+12
|
* 714Kartik K. Agaram2015-02-081-8/+11
| | | | Just forget about unicode for now.
* 713 - quick 'n' dirty trace parserKartik K. Agaram2015-02-082-1/+244
| | | | Doesn't quite work yet; I can't have spaces after labels.
* 712Kartik K. Agaram2015-02-072-0/+34
|
* 711 - extract method: string-copyKartik K. Agaram2015-02-072-25/+40
|
* 709Kartik K. Agaram2015-02-071-2/+0
|
* 708Kartik K. Agaram2015-02-054-13/+14
|
* 707Kartik K. Agaram2015-02-051-6/+6
|
* 706Kartik K. Agaram2015-02-042-0/+113
|
* 705 - clean up traces before we try to parse themKartik K. Agaram2015-02-032-36/+41
| | | | | | | | | | For now we want to parse two labels: 'run', identifying call stack, op and args 'mem', distinguishing reads and writes This should give us fodder for a few weeks, to build both a folding UI for individual statements and descending the call stack, and also a query engine that can figure out sources and sinks in the trace graph.
* 704Kartik K. Agaram2015-02-021-1/+1
|
* 703Kartik K. Agaram2015-02-021-0/+6
|
* 702Kartik K. Agaram2015-02-011-9/+6
|
* 701 - down arrow to navigate to next historyKartik K. Agaram2015-02-011-0/+35
|
* 700Kartik K. Agaram2015-02-011-27/+43
|
* 699 - yup, hack of 697 no longer neededKartik K. Agaram2015-02-011-6/+0
|
* 698 - give process-key its own scopeKartik K. Agaram2015-02-011-34/+34
| | | | | | | The relative global variables go into the outer lexical scope. Sharing local variables between functions yet again proven to be a bad idea.
* 696 - hacky solution, but I think <up> works nowKartik K. Agaram2015-02-011-5/+9
|
* 695 - another attempt to handle strings in historyKartik K. Agaram2015-02-012-15/+16
| | | | | | But now that we've added the keyboard parameter to process-keys, modifying it in a recursive call also clobbers it in the caller. All because of my weird, non-standard use of shared scope.
* 694Kartik K. Agaram2015-02-011-32/+0
|
* 693 - color-repl now uses keyboard/screen parametersKartik K. Agaram2015-02-012-36/+66
|
* 692Kartik K. Agaram2015-02-011-29/+0
|
* 691Kartik K. Agaram2015-02-012-113/+0
|
* 690 - convention: '$' commands for debugging onlyKartik K. Agaram2015-02-0113-208/+206
| | | | | | Swap printing generalized objects using arc's infrastructure to be the $-prefixed debug helper, while the erstwhile $print-key-to-host becomes the primitive print-character to host.
* 689Kartik K. Agaram2015-01-311-1/+3
| | | | Typo in a recent test.
* 688 - <up> for history kinda sorta worksKartik K. Agaram2015-01-312-5/+102
| | | | | | | | | | | | | | process-key is extracted to work on a given character, but its helpers for parsing strings and comments still read keys directly from keyboard. Still, this took long enough to get working that it's worth saving. Milestones: a) figuring out how to debug without dumping trace crap on the screen in cursor mode. b) realizing you can't assign directly to result in the up case. Have to let the recursive call do it. c) replacing continuations in 'process-key'.
* 687 - some helpers for debuggingKartik K. Agaram2015-01-311-1/+13
|
* 686 - too over-zealous with continuationsKartik K. Agaram2015-01-311-21/+15
| | | | | Took me all day to realize this, that recursive calls to process-key won't work as long as we call that next-key continuation.
* 685Kartik K. Agaram2015-01-301-3/+3
|
* 684Kartik K. Agaram2015-01-301-1/+9
|
* 683Kartik K. Agaram2015-01-301-16/+15
|
* 682Kartik K. Agaram2015-01-292-4/+41
| | | | | | | | | | You can't just extract the array from inside a buffer. Its length isn't right. Only reason we didn't catch this sooner is I think that arc's simulated memory is initialized to all nils, which has some serendipitous properties. I should initialize memory to random values one of these days and see what shakes out.
* 681Kartik K. Agaram2015-01-291-3/+3
|
* 680Kartik K. Agaram2015-01-292-26/+27
| | | | 's-expression' is too jargon-y.
* 679 - finally extract 'process-key' into its own functionKartik K. Agaram2015-01-291-145/+152
| | | | Only non-obvious changes here are handling the early exits.
* 678Kartik K. Agaram2015-01-291-1/+0
|
* 677 - more improvements for names in shared spacesKartik K. Agaram2015-01-292-8/+75
|
* 676 - allow routines to share *names* for localsKartik K. Agaram2015-01-292-1/+39
|
* 675Kartik K. Agaram2015-01-292-6/+4
|
* 674 - eliminate the other labelKartik K. Agaram2015-01-291-4/+8
| | | | | | | | | Jumps forward are harder than jumps back. You can't create a continuation until you get to it. And we don't have a way to return things from a continuation yet. That's a flaw. Maybe we need a 'reply-from' operator. But for now, this small bit of code we can just inline and duplicate.
* 673Kartik K. Agaram2015-01-291-4/+0
|
* 672 - replace label 'next-key' with continuationKartik K. Agaram2015-01-291-14/+35
| | | | | | | | | | | | | | | Works beautifully! This is the first step to hoisting all the code for reading a key into its own function. In other languages extracting arbitrary code into a function requires passing all arguments into it, which is annoying and hard to read. In mu you can just pass your default-space to it to share all local variables. But there's been one additional complication until now: labels, which are namespaced by function. Now we can replace labels with continuations and extract arbitrary code into new functions. Might be confusing to lose a few stack frames. Might end up undoing values of some important local. We'll see if we run into that.
* 671 - starting to add history supportKartik K. Agaram2015-01-291-2/+8
|
* 670 - get rid of integer-bufferKartik K. Agaram2015-01-292-34/+22
| | | | | | | | | | | | We'll make 'buffer' properly generic at some point. Basically need to support multi-word types. x:list:integer <- copy y:list:integer # ok x:list <- copy y:list:integer # ok x:list:integer <- copy y:list # error We'll need a separate runtime operator like maybe-coerce for the third case.
* 669 - bugfix in escaped charactersKartik K. Agaram2015-01-291-2/+2
| | | | Style lesson: always save args the moment you enter the function.
* 668 - continue read on comments and newlinesKartik K. Agaram2015-01-291-2/+21
|