simple monadic parsers on haskell