Alex is a tool for generating lexical analysers in Haskell, given a
description of the tokens to be recognised in the form of regular
expressions.  It is similar to the tool lex or flex for C/C++.

This requires ghc, haskell-transformers, haskell-mtl and
haskell-QuickCheck.