A Lisp interpreter implemented in Conway’s Game of Life
A Lisp Interpreter Implemented in Conway’s Game of Life
I include this as an application rather than an implementation technique because … well … it’s far more interesting as an example of cellular automata (CAs) than as a Lisp.
Having said that, there’s something utterly compelling in watching a CA run something this complicated. It basically implements a Lisp machine core, and watching it execute is rather like watching a real chip in action (even though the mechanisms are completely different). You can see memory being accessed. Its implementation includes lexical closures, enough to build a simple object system.
The implementation uses the VarLife system as an abstraction layer over the “raw” Conway rules. The compiled programs can be run on the Golly CA emulator.