about summary refs log tree commit diff stats
path: root/shell/print.mu
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-191-16/+58
| | | | | | We now use traces everywhere for error-checking. Null traces introduce the possibility of changing a functions error response, and therefore its semantics.
* shell: add a lot of error-checkingKartik K. Agaram2021-05-181-1/+7
|
* belatedly migrate stale example definitionsKartik K. Agaram2021-05-061-1/+1
| | | | | Also bare-bones syntax highlighting for .limg files. Doesn't work when .limg file is first file opened with Vim.
* shell: unquote spliceKartik K. Agaram2021-05-041-1/+1
|
* reading and printing backquotes and unquotesKartik K. Agaram2021-05-031-1/+29
|
* printing quoted expressionsKartik K. Agaram2021-05-021-0/+14
|
* .Kartik K. Agaram2021-05-021-5/+5
|
* move color scheme closer to Solarized darkKartik K. Agaram2021-05-011-2/+2
| | | | | | | | | | | | | sed -i 's,0x12/bg=almost-black,0xdc/bg=green-bg,g' shell/*.mu sed -i 's, 0/bg, 0xc5/bg=blue-bg,g' shell/*.mu sed -i 's, 7/fg=trace, 0x38/fg=trace,g' shell/*.mu sed -i 's, 7/bg=grey, 0x5c/bg=black,g' shell/*.mu Still a few issues. Thanks Adrian Cochrane and Zach DeCook. https://floss.social/@alcinnz/106152068473019933 https://social.librem.one/@zachdecook/106159988837603417
* .Kartik K. Agaram2021-04-221-2/+9
|
* .Kartik K. Agaram2021-04-181-0/+7
|
* shell: ctrl-r runs on real screen without a traceKartik K. Agaram2021-04-171-2/+14
| | | | | We run out of memory fairly early in the course of drawing a chessboard on the whole screen.
* .Kartik K. Agaram2021-04-171-1/+1
|
* shell: streams that you can append graphemes toKartik K. Agaram2021-04-101-0/+26
|
* shell: fake screensKartik K. Agaram2021-04-101-0/+12
| | | | | | | I just realized Mu has a pretty big weakness: writes to null pointers don't error out. Perhaps writes to address 0 do, but address 1 and so on don't? I need a slightly more sophisticated page table.
* shell: start rendering globalsKartik K. Agaram2021-04-081-0/+7
|
* shell: now we can start adding primitivesKartik K. Agaram2021-04-061-0/+7
|
* 7866Kartik Agaram2021-03-071-5/+5
|
* 7865Kartik Agaram2021-03-071-1/+1
|
* 7863 - shell: anonymous fn callsKartik K. Agaram2021-03-071-10/+21
|
* 7857 - shell: first function callKartik K. Agaram2021-03-051-0/+10
|
* 7842 - new directory organizationKartik K. Agaram2021-03-031-0/+260
Baremetal is now the default build target and therefore has its sources at the top-level. Baremetal programs build using the phase-2 Mu toolchain that requires a Linux kernel. This phase-2 codebase which used to be at the top-level is now under the linux/ directory. Finally, the phase-2 toolchain, while self-hosting, has a way to bootstrap from a C implementation, which is now stored in linux/bootstrap. The bootstrap C implementation uses some literate programming tools that are now in linux/bootstrap/tools. So the whole thing has gotten inverted. Each directory should build one artifact and include the main sources (along with standard library). Tools used for building it are relegated to sub-directories, even though those tools are often useful in their own right, and have had lots of interesting programs written using them. A couple of things have gotten dropped in this process: - I had old ways to run on just a Linux kernel, or with a Soso kernel. No more. - I had some old tooling for running a single test at the cursor. I haven't used that lately. Maybe I'll bring it back one day. The reorg isn't done yet. Still to do: - redo documentation everywhere. All the README files, all other markdown, particularly vocabulary.md. - clean up how-to-run comments at the start of programs everywhere - rethink what to do with the html/ directory. Do we even want to keep supporting it? In spite of these shortcomings, all the scripts at the top-level, linux/ and linux/bootstrap are working. The names of the scripts also feel reasonable. This is a good milestone to take stock at.