A lisp in Crystal.
Cues taken from:
- Lispy tutorial, building a lisp in Python
- Crisp, another lisp in Crystal
$ crystal src/lisp.cr -- run
Lisp REPL (cntl-d to quit):
>
- Learn Crystal ✓
- Implement a dynamic language ✓
- Do something with lisp for once ✓
- Implement a full-featured, useful lisp ✗
- Parse strings
- Build expressions
- Evaluate expressions in bindings
- Lazy eval (
if
) - Modify current scope (
define
) - Lists (
quote
) - REPL
- Custom functions (
lambda
) - Implement all those cool lisp-y list functions
- Follow Lispy2