Lambda calculus parser in Haskell