Taty is a toy lisp written in java. It is about 1.2K lines of code and it implements the same API described in these two tutorials by Tim Baldridge so you can run this fun exercise with just a couple minor path tweaks.
These are some of the resources that inspired the creation of this project:
- These two video tutorials by Tim Baldridge
- First two installments of Read-Eval-Print-Love by Michael Fogus
- JavaScript Allongé book
- Programming Languages coursera course
- Essentials of Programming Languages 3rd edition
- Roots of Lisp article by Paul Graham
- Joy of Clojure 2nd edition
- Rich Hickey talks
- Make a Lisp
If you are on linux or osx you can grab the graalvm built provided executables from releases.
Running without params will start a REPL session:
➜ ./taty-0.1.0-linux
Welcome to Taty!
(\)=>
Passing one argument will evaluate the provided file:
➜ ./taty-0.1.0-linux fact.taty
120
Compile using the provided gradle wrapper:
./gradlew jar