ToyLisp is a Lisp-like language that I write mostly for learning purposes.
My aim while developing it was to implement as many features as possible, without making the language completely unusable. It now supports call/cc, exceptions, threads and sockets.
-
Make function calls CPSThen implement call/cc- Implement exceptions.
- Imtplement threads.
-
Implement (read)
-
Implement quasiquotations
-
Remove unnecessary error type (ThrowsError, making every error type of IOThrowsError should be better for debugging, and make the code simpler) -
Use GADTs for syntax tree
-
Compiling to another language(OCaml ?)
-
First-class macros ??
-
Remove
PrimitiveFunc
type. -
Remove dotted-pairs.
-
Remove IOFunc type