This is a Lisp interpreter written in Elm. Test it live on fredrikmeyer.github.io/elm-lisp/.
I try to follow the instructions at Mal.
- Step 0: REPL
- Step 1: Read and print
- Step 2: Eval
- Step 3: Environments (implemented
let
instead oflet*
) - Step 4: If fn do (mostly)
- Step 5: Tail call optimization
- Step 6: Files, mutation, and evil (files are maybe not necessary!?)
- Step 7: Quoting
- Step 8: Macros
- Step 9: Try
npm start
npm run build
npm test
Or
elm-test --watch
for live updates.
- Maybe use CodeMirror to get a better editor. I.e. don't do any HTML in Elm.