Lisp interpreter based on SICP