Terrible Lisp written in Haskell