symantic-parser-0.2.0.20210703
- Fix mutual let bindings by defining them all together.
- Add a fixpoint to analyse the minimal reads and raisable exceptions
of each let binding in the
Machine.
Those analyses respectively enable to minimize calls to checkHorizon,
and minimize the number of catchHandlers passed to calls and jumps.
Computed values appear in golden tests.
- Add golden tests for
TemplateHaskell splices using runQ
which is enough here and avoids to have a custom Setup.hs
in order to correctly run an external ghc
like singletons does.
- Add preliminary support for error reporting using exceptions,
based upon: A Parsing Machine for Parsing Expression Grammars with Labeled Failures
- Add benchmarks for Brainfuck parsers.
- Change
ValueCode to Production which relies upon Data.Functor.Product,
to be able to leverage type-classes to handle the burden of defining both
Identity and CodeQ for Production expressions.
- Rename
Symantic.Univariant to Symantic.Typed.
- Add
Language.Haskell.TH.Show utility to avoid
adding a Symantic.Typed.View entry into Production
which would make writing Productions even more painful.
This adds the benefit of printing any Haskell code,
instead of only operators having symantics, eg. in Symantic.Typed.Lang.
However Symantic.Typed.View is no longer used now,
and thus lam1s no longer singled-out, not a big deal though.
- Major refactoring.
- Minor other optimizations and fixes.
symantic-parser-0.1.0.20210201
- Add error reporting using the farthest position reached.
- Add factoring of minimal input length checks ("horizon" checks).
- Open data-types
Comb and Instr
using a new technique based upon data family and Typeable.
- Leverage symantics further more to simplify the optimization passes.
- Rename some types and terms for clarity.
- Fix reproductibility of unit tests by hidding unique names.
- Add a few more tests.
symantic-parser-0.0.0.20210102
- Add missing golden tests in the Cabal tarball.
symantic-parser-0.0.0.20210101
- Initial (pre-alpha) release, on the unsuspecting world at sleep.