Lightweight package providing commonly useful parser combinators

Version on this page:1.0.0
LTS Haskell 22.29:1.3.0@rev:1
Stackage Nightly 2024-07-13:1.3.0@rev:1
Latest on Hackage:1.3.0@rev:1

See all snapshots parser-combinators appears in

BSD-3-Clause licensed and maintained by Mark Karpov
This version can be pinned in stack with:parser-combinators-1.0.0@sha256:7374d14cd3b38af0c7f7333049d6af1ccbbe6009deaa66e18701c2194e48f253,1884
Depends on 1 package(full list with versions):
Used by 4 packages in lts-12.26(full list with versions):

Parser combinators

License BSD3 Hackage Stackage Nightly Stackage LTS Build Status

The package provides common parser combinators defined in terms of Applicative and Alternative without any dependencies but base. There are also more efficient versions of the combinators defined in terms of Monad and MonadPlus. Test suite and benchmarks can be found in the Megaparsec repo.


Issues, bugs, and questions may be reported in the GitHub issue tracker for this project.

Pull requests are also welcome and will be reviewed quickly.


Copyright © 2017–2018 Mark Karpov

Distributed under BSD 3 clause license.


Parser combinators 1.0.0

  • Added the Control.Monad.Combinators.Expr module.

  • Dropped the compatibility operators (<$$>), (<$?>), (<||>), and (<|?>) from Control.Applicative.Permutations.

  • Dropped support for GHCs older than 7.10.

Parser combinators 0.4.0

  • Improved the documentation.

  • Re-exported Control.Applicative.empty from Control.Applicative.Combinators.

  • Added the Control.Monad.Combinators and Control.Monad.Combinators.NonEmpty modules which contain more efficient versions of the combinators from Control.Applicative.Combinators and Control.Applicative.Combinators.NonEmpty respectively.

Parser combinators 0.3.0

  • Added the skipCount combinator.

  • Improved algorithmic efficiency of the count' combinator.

Parser combinators 0.2.1

  • Removed the byte order marking at the beginning of the Control.Applicative.Permutations module.

Parser combinators 0.2.0

  • Added Control.Applicative.Combinators.NonEmpty module that exports non-empty list versions of combinators that cannot return empty lists.

  • Added Control.Applicative.Permutations module that provides generalized permutation parser combinators.

Parser combinators 0.1.0

  • Initial release.