parsec3: Monadic parser combinators

[ bsd3, library, parsing ] [ Propose Tags ]

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 in order to avoid module ambiguities for users just installing your package. Your own module ambiguities are best avoided by hiding packages.

This version reflects the changes of parsec-3.1.6

Versions [faq],,,,,,,,,,
Change log Changelog
Dependencies base (==4.*), bytestring, mtl, text (>=0.2 && <1.3) [details]
License BSD-3-Clause
Author Daan Leijen <>, Paolo Martini <>
Maintainer Christian Maeder <>
Category Parsing
Home page
Uploaded by ChristianMaeder at Mon Sep 15 11:00:25 UTC 2014
Distributions NixOS:
Downloads 5124 total (178 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs uploaded by user
Build status unknown [no reports yet]




Maintainer's Corner

For package maintainers and hackage trustees