An LALR(1) parser generator for the functional language Haskell