mu/apps/tile
Kartik Agaram 6f65b65f7d 7290
I've wrestled for a long time with how to support integer division with
its hard-coded registers. The answer's always been staring me in the face:
just turn it into a function! We already expect function outputs to go
to hard-coded registers.
2020-11-27 21:37:20 -08:00
..
README.md 7140 2020-10-29 13:19:53 -07:00
box.mu 7047 2020-10-17 11:45:37 -07:00
data.mu 7245 - tile: right-align functions 2020-11-15 21:45:20 -08:00
environment.mu 7269 2020-11-21 21:40:23 -08:00
gap-buffer.mu 7159 - explicitly use 'return' everywhere 2020-11-02 19:50:52 -08:00
grapheme-stack.mu 7159 - explicitly use 'return' everywhere 2020-11-02 19:50:52 -08:00
int-stack.mu 7159 - explicitly use 'return' everywhere 2020-11-02 19:50:52 -08:00
main.mu 7225 2020-11-11 23:25:55 -08:00
rpn.mu 7248 - mu.subx: new primitive 'clear-object' 2020-11-15 23:13:23 -08:00
surface.mu 7269 2020-11-21 21:40:23 -08:00
table.mu 7226 2020-11-11 23:30:56 -08:00
value-stack.mu 7226 2020-11-11 23:30:56 -08:00
value.mu 7290 2020-11-27 21:37:20 -08:00
vimrc.vim 6842 - hackily load local Vim settings 2020-09-23 21:43:23 -07:00
word.mu 7245 - tile: right-align functions 2020-11-15 21:45:20 -08:00

README.md

A programming environment that tries to “stop drawing dead fish”.

screenshot

To run:

./translate_mu apps/tile/*.mu
./a.elf screen

To run tests:

./a.elf test

To run a conventional REPL (for debugging):

./a.elf type

hacking

Unlike the top-level directory, this is just a prototype so far. There are no tests.

To add a new primitive you'll need to hard-code it into the evaluate function (apps/tile/rpn.mu).

There's also a second place you'll want to teach about predefined primitives: bound-function? (apps/tile/environment.mu)