parsec 3 vs. 2 - what's the deal?

Duncan Coutts duncan.coutts at
Mon Nov 10 06:31:08 EST 2008

On Mon, 2008-11-10 at 10:09 +0100, Johannes Waldmann wrote:
> Hello.
> Should I migrate from parsec-2 to parsec-3? Why? And if yes, then how?

I don't think there is any need to do so unless you need the extra features.

The parsec-3 package is a somewhat experimental generalisation to a
monad transformer that can be layered on top of other monadic input
layers with state, effects etc. It has not yet had much optimisation and
the performance for [Char] is reported to be slower. On the other hand
it can now work with bytestring input or lexers which gives the
potential for improved performance.

> The hackage description (of version 3) says "it's well documented ... on
> the home page", but when I go there, I find docs for version 2 only.

The api is mostly compatible for parsers that stick to the Char subset
and do not use the parsec-2 state feature.

> If I'm still using parsec-2 for teaching, will this harm my students?


GHC and the Haskell Platform will ship with parsec-2 until such a time
as the community decides (via this mailing list) that we should all
switch. The people proposing that change will have to make a convincing


More information about the Libraries mailing list