[Haskell-cafe] A very nontrivial parser