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.

(Part of the series An annotated Lisp bibliography.)