BSD-3-Clause licensed and maintained by Bryan O'Sullivan

Module documentation for 0.12.1.2

This version can be pinned in stack with:[email protected]:72a699fa5280cab52db232c896aba04e096fd19c1e8f53672bcbcb53b39c8a73,3979
  • Data
    • Data.Attoparsec
      • Data.Attoparsec.ByteString
        • Data.Attoparsec.ByteString.Char8
        • Data.Attoparsec.ByteString.Lazy
      • Data.Attoparsec.Char8
      • Data.Attoparsec.Combinator
      • Data.Attoparsec.Lazy
      • Data.Attoparsec.Number
      • Data.Attoparsec.Text
        • Data.Attoparsec.Text.Lazy
      • Data.Attoparsec.Types
      • Data.Attoparsec.Zepto

Welcome to attoparsec

attoparsec is a fast Haskell parser combinator library, aimed particularly at dealing efficiently with network protocols and complicated text/binary file formats.

Join in!

I’m happy to receive bug reports, fixes, documentation enhancements, and other improvements.

Please report bugs via the github issue tracker.

Master git repository:

  • git clone git://github.com/bos/attoparsec.git

There’s also a Mercurial mirror:

  • hg clone https://bitbucket.org/bos/attoparsec

(You can create and contribute changes using either Mercurial or git.)

Authors

This library is written and maintained by Bryan O’Sullivan, [email protected].

Changes

0.12.1.2

0.12.1.1

0.12.1.0

  • Now compatible with GHC 7.9

  • Reintroduced the Chunk class, used by the parsers package

0.12.0.0

  • 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.

0.11.3.0

0.11.2.0

  • The new Chunk typeclass allows for some code sharing with Ed Kmett’s parsers package: http://hackage.haskell.org/package/parsers

  • New function runScanner generalises scan to return the final state of the scanner as well as the input consumed.

0.11.1.0

  • New dependency: the scientific package. This allows us to parse numbers much more efficiently.

  • peekWord8’, peekChar’: new primitive parsers that allow single-character lookahead.