simple peg parser generater for Haskell