lisp interpreters written in different languages as a learning exercise