18ef136b2c | ||
---|---|---|
.. | ||
README.md | ||
cell.mu | ||
eval.mu | ||
gap-buffer.mu | ||
grapheme-stack.mu | ||
main.mu | ||
parse.mu | ||
print.mu | ||
read.mu | ||
sandbox.mu | ||
tokenize.mu | ||
trace.mu | ||
vimrc.vim |
README.md
A prototype shell for the Mu computer
Currently runs a tiny subset of Lisp. Steps to run it from the top-level:
- Build it:
$ ./translate shell/*.mu # generates disk.img
- Run it:
$ qemu-system-i386 disk.img
or:
$ bochs -f bochsrc
To save typing in a large s-expression, create a secondary disk for data:
$ dd if=/dev/zero of=data.img count=20160
Load an s-expression into it:
$ echo '(+ 1 1)' |dd of=data.img conv=notrunc
Now run with both code and data disks:
$ qemu-system-i386 -hda disk.img -hdb data.img
or:
$ bochs -f bochsrc.2disks
You can type in expressions, hit ctrl-s
to see their results, and hit Tab
to focus on the ...
below and browse how the results were computed. Here's
a demo. The bottom of
the screen shows context-dependent keyboard shortcuts (there's no mouse in the
Mu computer at the moment).
Known issues
-
There's no way to save to disk.
-
Don't press keys too quickly (such as by holding down a key). The Mu computer will crash (and often Qemu will segfault).