Scheme compiler written in Haskell