Welcome to picoparsec
Picoparsec is a fast and flexible parser combinator library, accepting any input type that is an instance of an appropriate monoid subclass.
I'm happy to receive bug reports, fixes, documentation enhancements, and other improvements.
Please report bugs via the Mercurial repository:
hg clone https://bitbucket.org/blamario/picoparsec
This library is a fork of attoparsec written and maintained by Bryan O'Sullivan, .
Fixed the incorrect tracking of capacity if the initial buffer was empty (https://github.com/bos/attoparsec/issues/75)
Fixed a data corruption bug that occurred under some circumstances if a buffer grew after prompting for more input (https://github.com/bos/attoparsec/issues/74)
Now compatible with GHC 7.9
Reintroduced the Chunk class, used by the parsers package
A new internal representation makes almost all real-world parsers faster, sometimes by big margins. For example, parsing JSON data with aeson is now up to 70% faster. These performance improvements also come with reduced memory consumption and some new capabilities.
The new match combinator gives both the result of a parse and the input that it matched.
The test suite has doubled in size. This made it possible to switch to the new internal representation with a decent degree of confidence that everything was more or less working.
The benchmark suite now contains a small family of benchmarks taken from real-world uses of attoparsec.
A few types that ought to have been private now are.
A few obsolete modules and functions have been marked as deprecated. They will be removed from the next major release.