Changelog of @hackage/nanopass 0.0.3.0

Revision history for nanopass

0.0.3.0 -- YYYY-mm-dd

  • Stop generating records for each production. (This would create partial fields which were a rich source of bugs for clients.)
  • Re-wrote internal representation of languages.
  • New, more consistent grammar for languages, modifications, and passes.
  • Exported internal modules, for the sake of developer documentation only.

0.0.2.1 -- 2024-01-02

  • Fix bug decoding constructors with no fields
  • Add missing "modifier" production rules to documentation
  • Allow parentheses drop when a syncat modifier has exactly one child
  • add on prefix to Xlate records to avoid ambiguous records
  • require Xlate{,I} fields to be strict so they don't get forgotten when you write translators
  • because nanopass creates partial-fields (detectable with -Wpartial-fields), I've decided to prefix these with double-underscore to indicate that they are not meant for use beyond nanopass' internals

0.0.2.0 -- 2022-02-11

  • Generate documentation for the members of Xlate and XlateI.
  • Add generation of pure variants of translation facilities to defpass.
  • Change {Xlate,descend*}A names to drop the A; applicative is probably the more common case.
  • Fix bug in testing for Traversable instance.
  • Generate documentation for generated types/functions.
  • Requires template-haskell >=2.18, and therefore GHC 9.2.1

0.0.1.0 -- 2022-01-26

  • First version. Unreleased in any unsuspecting world.