Initial lisp implementation. Several TODO outstanding