Changelog of @hackage/symantic-parser 0.2.0.20210703

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.