After testing on another machine running Ubuntu 12.04, I can confirm that everything works fine as long as I have alex-2.3.5 installed.
However on my laptop alex-3.0.1 is already installed (both via cabal and via apt) and when I try to downgrade I get a similar error about bang-patterns:
$ cabal install 'alex < 3'
Resolving dependencies...
[1 of 1] Compiling Main ( /tmp/alex-2.3.524493/alex-2.3.5/Setup.lhs, /tmp/alex-2.3.524493/alex-2.3.5/dist/setup/Main.o )
/tmp/alex-2.3.524493/alex-2.3.5/Setup.lhs:6:52:
Warning: In the use of `buildVerbose'
(imported from Distribution.Simple.Setup):
Deprecated: "Use buildVerbosity instead"
/tmp/alex-2.3.524493/alex-2.3.5/Setup.lhs:7:52:
Warning: In the use of `defaultUserHooks'
(imported from Distribution.Simple):
Deprecated: "Use simpleUserHooks or autoconfUserHooks, unless you need Cabal-1.2
compatibility in which case you must stick with defaultUserHooks"
/tmp/alex-2.3.524493/alex-2.3.5/Setup.lhs:12:26:
Warning: In the use of `try'
(imported from System.IO.Error):
Deprecated: "Please use the new exceptions variant, Control.Exception.try"
Linking /tmp/alex-2.3.524493/alex-2.3.5/dist/setup/setup ...
Warning: defaultUserHooks in Setup script is deprecated.
Configuring alex-2.3.5...
Building alex-2.3.5...
Preprocessing executable 'alex' for alex-2.3.5...
[ 1 of 16] Compiling Set ( src/Set.hs, dist/build/alex/alex-tmp/Set.o )
[ 2 of 16] Compiling DFS ( src/DFS.hs, dist/build/alex/alex-tmp/DFS.o )
[ 3 of 16] Compiling Sort ( src/Sort.hs, dist/build/alex/alex-tmp/Sort.o )
[ 4 of 16] Compiling Paths_alex ( dist/build/autogen/Paths_alex.hs, dist/build/alex/alex-tmp/Paths_alex.o )
[ 5 of 16] Compiling Util ( src/Util.hs, dist/build/alex/alex-tmp/Util.o )
[ 6 of 16] Compiling Map ( src/Map.hs, dist/build/alex/alex-tmp/Map.o )
[ 7 of 16] Compiling CharSet ( src/CharSet.hs, dist/build/alex/alex-tmp/CharSet.o )
[ 8 of 16] Compiling AbsSyn ( src/AbsSyn.hs, dist/build/alex/alex-tmp/AbsSyn.o )
[ 9 of 16] Compiling Info ( src/Info.hs, dist/build/alex/alex-tmp/Info.o )
[10 of 16] Compiling Output ( src/Output.hs, dist/build/alex/alex-tmp/Output.o )
[11 of 16] Compiling ParseMonad ( src/ParseMonad.hs, dist/build/alex/alex-tmp/ParseMonad.o )
[12 of 16] Compiling Scan ( dist/build/alex/alex-tmp/Scan.hs, dist/build/alex/alex-tmp/Scan.o )