Achieving the Goals

Correctness through Simplicity
Generate the lexer from a specification that is as close as possible to the specification in the Haskell 98 Report.
Efficiency
Compile the specification to an efficient Haskell program.