A lisp interpreter that aims to be a working mal.
Full compliance to upstream mal spec is a non-goal, but we argue for some degree of it with our test suite.
This repo brings value to the world by being a testable code artifact. Also see repl.rkt and of course the merged racket implementation of mal for more trusted examples.
Direct style (as contrasted to continuation-passing style) tree-walk interpreter
The implementation has 2 interfaces:
- A repl to type programs in.
racket repl.rkt
starts the repl.- We manage testing in this way using turnt.
~/.local/bin/turnt mal_process/*/*.t
runs all the tests.
- (TODO) An implementation of racket's #lang protocol.
- Usage is
racket program.mal
.
- Usage is