Parsley 2.0.0
NOTE: This release has backwards incompatible changes for some parsers which were previously compatible with the 1.x series. This includes parsers which make use of registers/state, as well as any lingering uses of deprecated functionality from v1.5.1+
What's Changed
The following PRs form part of this release: #28 #27 #32. Issue #26 is partially supported by this release (remaining work is found in #33).
The major changes in this release boil down to:
- adding types to registers, so they are no longer untyped
- removing rollback behaviour of registers, they can be rolled back with
rollback
explicitly - remove ability to manually create registers at given addresses (the allocation is done by the runtime)
What's New
For this release, there are a couple of new combinators, namely:
collect
- similar to those found inList
etc in the Scala standard librarycast
- used to change the type of a parser's result in a safe checked way which does not throw exceptionsrollback
- recovers the original semantics of registers from the 1.x series