]> Git — Sourcephile - haskell/symantic-parser.git/blob - ChangeLog.md
change ShowLetName into HideableName
[haskell/symantic-parser.git] / ChangeLog.md
1 ## symantic-parser-0.2.0.20210703
2
3 * Fix mutual let bindings by defining them all together.
4 * Add a fixpoint to analyse the minimal reads and raisable exceptions
5 of each let binding in the `Machine`.
6 Those analyses respectively enable to minimize calls to `checkHorizon`,
7 and minimize the number of `catchHandler`s passed to `call`s and `jump`s.
8 Computed values appear in golden tests.
9 * Add golden tests for `TemplateHaskell` splices using `runQ`
10 which is enough here and avoids to have a custom `Setup.hs`
11 in order to correctly run an external `ghc`
12 like [singletons](https://hackage.haskell.org/package/singletons-base-3.0/src/Setup.hs) does.
13 * Add preliminary support for error reporting using exceptions,
14 based upon: [A Parsing Machine for Parsing Expression Grammars with Labeled Failures](https://dl.acm.org/doi/10.1145/2851613.2851750)
15 * Add benchmarks for Brainfuck parsers.
16 * Change `ValueCode` to `Production` which relies upon `Data.Functor.Product`,
17 to be able to leverage type-classes to handle the burden of defining both
18 `Identity` and `CodeQ` for `Production` expressions.
19 * Rename `Symantic.Univariant` to `Symantic.Typed`.
20 * Add `Language.Haskell.TH.Show` utility to avoid
21 adding a `Symantic.Typed.View` entry into `Production`
22 which would make writing `Production`s even more painful.
23 This adds the benefit of printing any Haskell code,
24 instead of only operators having symantics, eg. in `Symantic.Typed.Lang`.
25 However `Symantic.Typed.View` is no longer used now,
26 and thus `lam1`s no longer singled-out, not a big deal though.
27 * Major refactoring.
28 * Minor other optimizations and fixes.
29
30 ## symantic-parser-0.1.0.20210201
31
32 * Add error reporting using the farthest position reached.
33 * Add factoring of minimal input length checks ("horizon" checks).
34 * Open data-types `Comb` and `Instr`
35 using a new technique based upon `data family` and `Typeable`.
36 * Leverage symantics further more to simplify the optimization passes.
37 * Rename some types and terms for clarity.
38 * Fix reproductibility of unit tests by hidding unique names.
39 * Add a few more tests.
40
41 ## symantic-parser-0.0.0.20210102
42
43 * Add missing golden tests in the Cabal tarball.
44
45 ## symantic-parser-0.0.0.20210101
46
47 * Initial (pre-alpha) release, on the unsuspecting world at sleep.