optics-th

Optics construction using TemplateHaskell

Version on this page:0.3.0.1
LTS Haskell 22.17:0.4.1@rev:7
Stackage Nightly 2024-04-19:0.4.1@rev:7
Latest on Hackage:0.4.1@rev:7

See all snapshots optics-th appears in

BSD-3-Clause licensed by Andrzej Rybczak
Maintained by [email protected]
This version can be pinned in stack with:optics-th-0.3.0.1@sha256:805ca7699d39aa01796eec394c4460def312bf59536f3d781adbf60ffdab288c,2024

Module documentation for 0.3.0.1

This package is part of the optics package family. It provides machinery to construct optics using TemplateHaskell.

See the template-haskell-optics package for optics to work with template-haskell types.

Changes

optics-th-0.3.0.1 (2020-08-05)

  • Fix handling of nullary type families
  • Fix declareFieldLabels and declareLenses with DuplicateRecordFields
  • Improve documentation of Optics.TH

optics-th-0.3 (2020-04-15)

  • optics-core-0.3 compatible release
  • GHC-8.10 support
  • Improvements to TH-generated optics:
    • LabelOptic instances make optic kind a type equality for better type inference
    • LabelOptic instances for field optics work properly in the presence of type families
    • Fixed calculation of phantom types in LabelOptic prism instances
    • Better support for generating optics in the presence of kind polymorphism

optics-th-0.2 (2019-10-18)

  • Add noPrefixFieldLabels and noPrefixNamer to Optics.TH

optics-th-0.1 (2019-09-02)

  • Initial release