Compiler course project written in Haskell