Java code for a fully functional Lisp Interpreter