Changelog

All notable changes to this project will be documented in this file. (Hopefully I won't forget much.)

Unreleased

0.7.0 - 2022-06-20

Added

  • Added fit/2 as an equivalent to =/2.
  • Added fit/1 to convert =/2 to fit/2 within the do block.

0.6.1 - 2022-05-17

Added

  • Now handling equality patterns.

0.6.0 - 2021-11-03

Added

  • view/2 can now use any function in guards, as long as they return true.
  • Added defv/2 to define named functions capable of the same things as view/2.
  • Added fnv/1 do defined anonymous functions capable of the same things as view/2.

0.5.0 - 2021-10-20

Changed

  • Implicitly replace patterns defined using no args with patterns defined using an empty list of args.
  • Improved the localisation of the pattern mentioned in the error message for patterns that can only be used inside view/2.
  • Breaking : require parentheses on raw views used with view/2, and in views used with pattern/1.
  • Reworked view to handle nested pattern usage

0.4.0 - 2021-05-14

Changed

  • Implementation details, using new dependency: Circe.
  • Doc updated.

0.3.1 - 2021-03-11

Changed

  • Doc updated.

Added

  • Anonymous functions can now be used with view.

0.3.0 - 2020-12-18

Changed

  • Updated this changelog to try the format from keep-a-changelog.
  • Reworked view to handle remote calls, updated the doc accordingly.

0.2.0 - 2020-12-18

Changed

  • Docs updated.
  • Reorganised the order of the patterns definitions, this allows to set the doc attribute for the version used by the programmer, and to hide the internal version used by view.
  • Added a vanilla definition for unidirectional pattern using a view, this permits setting a doc attribute usable by the programmer, improves discoverability, and signal with a better error message when the pattern is improperly used (from unknown definition to custom raise).
  • Internal changes.

Added

  • Guards can now be used with view.

0.1.1 - 2020-12-04

Fix

  • view/2 updated to use a unique variable before matching, avoiding repeated function call when it is the value to be matched on.
  • pattern/1 : changed ast traversal from pre to post to avoid infinite loops during compilation (was present but forgotten in the changelog).

Changed

  • Docs updated.

Added

  • Changelog creation.

0.1.0 - 2020-12-03

Added

  • Base implementation.

Changelog format inspired by keep-a-changelog.