about summary refs log tree commit diff stats
path: root/shell
Commit message (Collapse)AuthorAgeFilesLines
...
* more robust print-cellKartik K. Agaram2021-05-191-18/+160
| | | | | It is used to print to the trace, and we shouldn't crash the whole computer just because the trace ran out of space.
* disallow null tracesKartik K. Agaram2021-05-198-153/+425
| | | | | | We now use traces everywhere for error-checking. Null traces introduce the possibility of changing a functions error response, and therefore its semantics.
* .Kartik K. Agaram2021-05-191-1/+1
|
* .Kartik K. Agaram2021-05-191-2/+2
|
* .Kartik K. Agaram2021-05-191-6/+6
|
* shell: traces track a maximum depth to recordKartik K. Agaram2021-05-193-33/+44
|
* shell: depth 0 as the check for errorsKartik K. Agaram2021-05-191-14/+17
|
* shell: start traces at depth 1 rather than 0Kartik K. Agaram2021-05-191-57/+59
| | | | We're going to carve out depth 0 for errors.
* shell: clean up trace for macroexpandKartik K. Agaram2021-05-182-0/+7
|
* shell: add a lot of error-checkingKartik K. Agaram2021-05-183-1/+158
|
* shell: roll back a change to the 'when' macroKartik K. Agaram2021-05-151-2/+2
| | | | | Introduced in commit 1adc904ef3 from a week ago, but it turns out brcircle has been consistently broken ever since.
* A 'bowboard', a chessboard of rainbow circlesKartik K. Agaram2021-05-081-23/+31
| | | | Compare with (chessboard screen 256)
* a full-circle rainbowKartik K. Agaram2021-05-082-3/+30
|
* new shell macro: doKartik K. Agaram2021-05-071-2/+3
|
* all apps working again after null get checkKartik K. Agaram2021-05-072-2/+34
|
* .Kartik K. Agaram2021-05-072-39/+39
|
* an often-overflowing stream when running brcircleKartik K. Agaram2021-05-072-1/+3
| | | | We really need to systematically check our trace streams.
* .Kartik K. Agaram2021-05-072-6/+8
|
* some boot-time heartbeat messagesKartik K. Agaram2021-05-072-1/+20
| | | | This will help us with some common debug scenarios.
* .Kartik K. Agaram2021-05-071-19/+19
|
* clean up all definitionsKartik K. Agaram2021-05-071-21/+20
|
* clean up chessboardKartik K. Agaram2021-05-072-11/+15
| | | | | We still benefit from some helpers here because of the unrolling and multiple calls to helpers.
* clean up read_lineKartik K. Agaram2021-05-071-9/+6
|
* clean up Bresenham line-drawingKartik K. Agaram2021-05-072-26/+54
|
* .Kartik K. Agaram2021-05-071-6/+6
|
* no, we need hline1 for fill_rectKartik K. Agaram2021-05-071-8/+10
|
* clean up hline and vlineKartik K. Agaram2021-05-071-10/+10
|
* starting to implement first macrosKartik K. Agaram2021-05-074-0/+20
| | | | | | | | | | | | | | | Another commit, another bugfix. Some snippets from my currently exploding todo list: - always investigate lookup errors immediately. Beyond the root cause, they should never happen at the moment, while we aren't reclaiming memory. we should always return a more precise error message. Usually involving null pointer checks. - on abort, print out stack trace - emit mapping of labels to addresses during survey - store a mapping of symbols somewhere in the code image - stop allocating 1KB per token; expand space for tokens as needed
* give up on nested backquotes for nowKartik K. Agaram2021-05-072-7/+82
|
* macros almost doneKartik K. Agaram2021-05-061-23/+69
| | | | Just one case left: macros within unquote.
* some more casesKartik K. Agaram2021-05-061-11/+60
|
* first passing test for macroexpandKartik K. Agaram2021-05-065-40/+240
| | | | | | | | In the process I spent a long time tracking down a stray TODO in 108write.subx that I thought would abort but didn't since the switch to baremetal. Then after I reintroduced that assertion I had to go track down a bunch of buffer sizes. Stream sizes continue to be a huge mess.
* more paranoia in shell/globals.muKartik K. Agaram2021-05-061-0/+48
|
* shell: macroexpand outermost callKartik K. Agaram2021-05-062-1/+65
|
* literal macrosKartik K. Agaram2021-05-061-0/+28
| | | | | | | | | | | Current plan: - some way to define macros. For now: (def f (litmac litfn () (a b) `(+ ,a , b))) - macroexpand will expand calls by passing them through the cdr (f 3 4) macroexpand: ((litfn () (a b) `(+ ,a ,b)) 3 4) => (+ 3 4) eval: (+ 3 4) => 7
* .Kartik K. Agaram2021-05-061-2/+15
|
* back to macros; switch macroexpand to operate in placeKartik K. Agaram2021-05-062-20/+9
|
* belatedly migrate stale example definitionsKartik K. Agaram2021-05-063-93/+97
| | | | | Also bare-bones syntax highlighting for .limg files. Doesn't work when .limg file is first file opened with Vim.
* .Kartik K. Agaram2021-05-061-4/+21
|
* .Kartik K. Agaram2021-05-042-0/+41
|
* .Kartik K. Agaram2021-05-042-3/+25
|
* .Kartik K. Agaram2021-05-041-1/+1
|
* shell: start implementing macrosKartik K. Agaram2021-05-042-1/+7
|
* .Kartik K. Agaram2021-05-041-6/+6
|
* shell: unquote spliceKartik K. Agaram2021-05-042-1/+121
|
* shell: unquoteKartik K. Agaram2021-05-041-2/+78
|
* shell: start evaluating backquoteKartik K. Agaram2021-05-031-0/+146
|
* .Kartik K. Agaram2021-05-031-63/+63
|
* .Kartik K. Agaram2021-05-031-0/+21
|
* .Kartik K. Agaram2021-05-031-1/+1
|