A modern parser combinator library with convenient diagnostics

Version on this page:
LTS Haskell 11.14:
Stackage Nightly 2018-06-20:
Latest on Hackage:

See all snapshots trifecta appears in

BSD3 licensed by Edward A. Kmett
Maintained by Edward A. Kmett

Module documentation for

There are no documented modules for this package.


Hackage Build Status

This package provides a parser that focuses on nice diagnostics.

Contact Information

Contributions and bug reports are welcome!

Please feel free to contact me through github or on the #haskell IRC channel on

-Edward Kmett


  • Support ansi-wl-pprint-0.6.8


  • Support doctest-0.12


  • Make trifecta forward -Wcompatible: Adding Semigroup instances to correspond to every existing Monoid instance. This requires adding a Semigroup constraint to the Monoid instance for Parser to emulate the Semigroup-Monoid superclass relation that will be present in future versions of GHC. Adding a MonadFail instance for Parser
  • Revamp Setup.hs to use cabal-doctest. This makes it build with Cabal-2.0, and makes the doctests work with cabal new-build and sandboxes.

  • Add this changelog to the extra-souce-files in trifecta.cabal so that the changelog will appear on Hackage


  • Enable support for blaze-html-0.9 and blaze-markup-0.8


  • Remove redundant constraints from DeltaParsing's class methods. This is required for trifecta to build on GHC 8.0.2.


  • Version bumps to support GHC 8
  • Add line/col numbers to parse results by giving a list of all deltas when errors happen.


  • lens 4.13 support
  • It is a Profunctor
  • Builds clean on GHC 7.10.

  • Support newer utf8-string versions and GHC 7.10

  • Work around lack of the old preEscapedString export in near-current blaze-markup.

  • Work around new exports in blaze.


  • Parsers 0.12.1 support. This removes many Show constraints introduced after 1.4


  • Properly PVP compliant point release for the parsers changes to properly handle notFollowedBy


  • Accidentally non-PVP compliant point release.


  • GHC 7.8.1 compatibility


  • Simplified AsResult
  • lens 4.0 compatibility

  • Updated array dependency for compatibility with GHC 7.8


  • Bug fix for the Monoid instance in response to issue #15
  • Made the Semigroup instance match the Monoid as well.


  • Changed the Monoid instance for Parser in response to issue #14
  • Exported MonadErr class for raising Errs
comments powered byDisqus