1. Bryan O'Sullivan
  2. attoparsec

Source

attoparsec / Data / Attoparsec / ByteString / Internal.hs

Author Commit Message Date Builds
Bryan O'Sullivan
pappend for ByteString
Bryan O'Sullivan
Make Text Buffer safe against reuse
Bryan O'Sullivan
Introduce a Buffer type for ByteString parsing This type supports fast, asymptotically well behaved appends, which becomes important when we're asking for more input if a parse doesn't succeed. The previous "append to a ByteString" scheme degraded to O(n^2) performance if fed a byte at a time, and so acted as a conveniently obscure DoS vector. This approach gets us to O(n log n).
Bryan O'Sullivan
Move inlinePerformIO to a safer place
Bryan O'Sullivan
Separate the input and state type parameters
Bryan O'Sullivan
Speed up peekWord8', use more widely
Bryan O'Sullivan
Inlining wantInput seems (?) to help perf
Bryan O'Sullivan
Update copyright years
Bryan O'Sullivan
Fix up some doc comments
Bryan O'Sullivan
Turn Pos into a newtype Preparation for trying to speed Text ops back up.
Bryan O'Sullivan
Get rid of the Chunk class entirely
Bryan O'Sullivan
A crap-ton of code movement This is all just moving code around on the road towards ripping out the Chunk typeclass.
Bryan O'Sullivan
Copy Chunk-related code to ByteString
Bryan O'Sullivan
Switch to a new internal representation
Bryan O'Sullivan
Generalize scan on ByteString to runScanner The name is by analogy to State. The issue is gh-8.
Bryan O'Sullivan
Drop a bunch of CPP macros
Mikhail Vorozhtsov
Unified 'endOfInput' and 'atEnd' for ByteString and Text.
Mikhail Vorozhtsov
Unified 'satisfy' for ByteString and Text.
Mikhail Vorozhtsov
Unified 'ensure' for ByteString and Text.
Mikhail Vorozhtsov
Unified 'demandInput' and 'wantInput' for ByteString and Text.
Mikhail Vorozhtsov
Unified 'prompt' function from .Internal modules.
Mikhail Vorozhtsov
Unified 'get' and 'put' from .Internal modules.
Mikhail Vorozhtsov
Deduplicated `try` and `<?>` into the Combinator module.
Bryan O'Sullivan
Add new lookahead functions
Bryan O'Sullivan
Use Monoid in a few more spots
Tags
0.10.4.0
Bryan O'Sullivan
Try using Monoid everywhere
Bryan O'Sullivan
bytestring: ensure that -ve args to take are safe This fixes bug #37.
tibbe
Fix exponential compilation times due to inlining Always inlining the success continuation helps performance but explodes the code size so that compiling even small examples such as calling anyWord8 16 times in a row slows to a crawl. Fixes #38
tibbe
Even cheaper IO
tibbe
Optimize scan
  1. Prev
  2. 1
  3. 2
  4. Next