- Add
takefor ASCII parser.
- Add
hexFixedWord16# - Drop support for base < 4.18, clean up CPP
- Add more levity-monomorphized variants of bind, pure, and fail
- Update package metadata.
- Remove dependency on
run-stlibrary.
- Add
Data.Bytes.Parser.Latin.hexWord32. - Add
Data.Bytes.Parser.Latin.hexFixedWord(128|256). - Add
Data.Bytes.Parser.takeN.
- Add
mapErrorEffectfully. - Correct the implementation of
satisfy. - Add
takeUpTo.
- Build with GHC 9.4.
- Build with GHC 9.2.3.
- Add
peekandpeek'toData.Bytes.Parser.Latin. - Add inline pragmas to most functions to prevent cost centers.
- Add support for WordRep-to-LiftedRep in Rebindable module.
- Allow building with newer Contiguous.
- Export
uneffectful.
- Add
Data.Bytes.Parser.Base128module for Base-128 encoding. - Add
Data.Bytes.Parser.Leb128module for LEB-128 encoding. Supports signed integers with zig-zag encoding. - Add
skipWhiletoData.Bytes.Parser.Latin. - Reexport
endOfInputandisEndOfInputfromLatin. - Add
charInsensitiveto ASCII module. - Correct implementation of
peekandpeek'.
- Add
char12 - Add
skipTrailedBy2,skipTrailedBy3, and variants with an unboxed result. - Add
cstring - Add
peekRemaining - Add
measure_andmeasure_#, variants ofmeasurethat only give the byte count. - Add
Data.Bytes.Parser.Rebindable, the ultimate hack. - Add
Data.Bytes.Latin.takeTrailedBy
- Add big-endian and little-endian
word256andword256Arrayparsers. - Add
hexFixedWord64.
- Add
hexFixedWord32.
- Add
hexWord8,hexWord16, andhexFixedWord8.
- Add
parseBytesEitherandparseBytesMaybe. - Add common idioms from other parser libaries. This includes:
satisfy,satisfyWith,scan,peek, andpeek'.
- Add big-endian and little-endian parsers for
Word128. - Add a module for little-endian word parsers. This compliments the existing big-endian module.
- Add functions for parsing arrays of big/little endian words of various sizes.
- Add
skipUntiltoLatin. - Add
char5,char6,char7,char8,char9,char10, andchar11toLatin. - Correct the implementation of
takeTrailedBy.
- Include the offset into the byte sequence in
Result. Breaking change. - Rename
hexWord16tohexFixedWord16. Breaking change. - Rename
parseBytesSTtoparseBytesEffectfully. Breaking change. - Add
hexNibbleLowerandtryHexNibbleLower. - Add
hexNibbleandtryHexNibble.
- Correct an overflow-detection mistake in the implementation of machine-word parsers.
- Add big-endian word parsers.
- Redo module structure so that encoding-specific functions each live in their own module.
- Add a lot more functions and attempt to make naming somewhat consistent.
- Add
delimit. - Add
replicate. - Add
annotateand its infix synonym<?>.
- First version.