- Add
unsafe_take_cstruct_exactandunsafe_take_cstruct_neparsers. PARSER.parsefunction now takes?posparameter and returnsposalong with the parsed value. This allows creating pull based parsers.- Expose
Promisemodule.
- Fix
take_while
- Overhaul parser implementation - use functor based implementation. Introduce,
Make_buffered_input,Make_unbuffered_inputandMakefunctors. - Remove
reparse-unixpackage - Remove base dependency
- Facilitate IO promise monads such as
LwtandAsync - Add package
reparse-lwtwhich definesLwt_stream.tas one of the input sources. - Add package 'reparse-lwt-unix' which defines
Lwt_unix.file_descrandLwt_io.input_channelas parser input sources.
This release has backwards incompatible changes.
- Infix functions are now available in
Parsermodule itself. - Add support for let operators -
let+,let*,and+andand*. bindandmapfunction are now labelled followingbaselibrary dependency convention.- Items in
all_unitare nowunit trather than_ tfollowing monad combinator convention inbaselibrary dependency. pureis now deprecated. Usereturninstead. This is to stay consistent with monad conventions inbaselibrary dependency.>|=is deprecated. Use>>|instead. This is to stay consistent with monad conventions inbaselibrary dependency.- Removed
map4function. - Add support for
ppx_let. - Deprecate
Parsermodule. UseReparseinstead.
- Rewrite the whole package to use exceptions rather than
resulttype - Adds many more parsing combinators
- Adds comprehensive unit tests
- Adds comprehensive documentation, host documentation and add links in repo home page
- Adds abstraction for input source
- Provides unix file source and string input source
- Adds separate package
reparse-unixfor unix file input - Adds calc.ml and json.ml in examples.
- Remove Result and underlying monad
- Remove sexplib0, bigstringaf
- Prune basic parsers
- Add string_if parser.
- Add sexp_of_error.
- First release.