A Lisp(Scheme) implementation in Haskell