Haskel parser combinator library