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
