I didn't realize you did it as a learning exercise, and in my comment I endorsed doing it as a learning exercise, so we are on the same page
I think everybody should do one as a learning exercise, thumbs up.
but I also think everybody should learn to use pointers in C, but I don't want to read about it every time. The important thing about implementing a Lisp (do it as a metacircular evaluator) is the simplicity exposes some deep truth about the language. But the simplistic Lisp expressions that you can then type into it are not interesting Lisp, except to the implementor.
http://www.softwarepreservation.org/projects/LISP/book/LISP%...
Once I get the state model fixed up, I was planning on writing some simple games. Perhaps snake or pong.