packages feed

nanopass-0.0.3.0: CHANGELOG.md

# 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.