The parsec3 package
Parsec is designed from scratch as an industrial-strength parser library. It is simple, safe, well documented (on the package homepage), has extensive libraries and good error messages, and is also fast. It is defined as a monad transformer that can be stacked on arbitrary monads, and it is also parametric in the input stream type.
This package comes without the compatibility layer for parsec2.
Note, that the module names overlap with those of newer parsec versions, therefore I do not recommend to unconditionally use parsec3 as dependency in cabal files of packages for hackage. But you may want to develop your code using this subset of parsec3 modules and finally change the dependency from parsec3 to parsec-3.1.1 in order to avoid module ambiguities for users just installing your package. Your own module ambiguities are best avoided by hiding packages.
This version re-exports parts of the Applicative module instead of extra functions with the same name.
|Versions||220.127.116.11, 18.104.22.168, 22.214.171.124, 126.96.36.199, 188.8.131.52, 184.108.40.206|
|Dependencies||base (4.*), bytestring, mtl, syb|
|Author||Daan Leijen <email@example.com>, Paolo Martini <firstname.lastname@example.org>|
|Maintainer||Christian Maeder <Christian.Maeder@dfki.de>|
|Upload date||Mon Jan 31 12:57:38 UTC 2011|