Lightweight package providing commonly useful parser combinators

Version on this page:0.4.0
LTS Haskell 11.1:0.4.0
Stackage Nightly 2018-03-19:0.4.0
Latest on Hackage:0.4.0

See all snapshots parser-combinators appears in

BSD3 licensed and maintained by Mark Karpov

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 Mark Karpov

Distributed under BSD 3 clause license.


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.
Depends on 1 package:
comments powered byDisqus