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, haskell-random, and haskell-QuickCheck.