writing myself another lisp, this time a scheme in haskell