Smzinjx
Toy Lisp interpreter, implementing the nine types of forms in Peter Norvig's Lispy:
- variable references
- literal numbers
quote
if
set!
define
lambda
begin
- procedure calls
Runs in Node.js or the browser. For a node REPL, run node smzinjx.js
.
For a browser REPL, install Browserify, run make
,
and navigate to browser/index.html.
To run tests, install jasmine-node
and run jasmine-node spec
.
I didn't want to think about a name for this, so I just hit random keys, hence "Smzinjx". It's pronounced just the way it looks :P
This code is released under the Creative Commons CC0 1.0 Public Domain Dedication.