Writing an implementation of lisp in C