A Universe in 99 Lines: Learning by Writing a Lisp Interpreter
One of the greatest charms of Lisp is that implementing the language itself is easy and educational.
Learning from Implementation
- A working Lisp in just 99 lines of C
- The core of S-expression parsing and evaluation (Eval)
- Garbage Collection (GC) and environment management
In this article, we unravel how programming languages work through extremely small Lisp implementations.
References
- tinylisp - Lisp in 99 lines of C — An ideal way to learn the structure of a Lisp interpreter from a minimal implementation.
- Build Your Own Lisp — A step-by-step guide to building your own programming language in C.
- sectorlisp - Bootstrapping LISP in a Boot Sector — Lisp in 512 bytes. The ultimate example of minimal primitives and metacircular evaluation.
- Wisp - A light Lisp written in C++ — A lightweight implementation example in modern C++.
- LispE - Full-fledged Lisp interpreter — A showcase of feature-rich Lisp implementations with lazy evaluation and pattern matching.
- SBCL - Steel Bank Common Lisp — The standard for pragmatic Lisp development and a reference for high-performance compilers.
- Pile Programming Language — Lisp on the JVM. Integration of Java interoperability with modern features.