An introduction to Haskell with parsers as the example