Optics construction using TemplateHaskell

Version on this page:
LTS Haskell 22.29:0.4.1@rev:8
Stackage Nightly 2024-07-18:0.4.1@rev:8
Latest on Hackage:0.4.1@rev:8

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-,2038

Module documentation for

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.


optics-th- (2020-08-20)

  • Fix tests on GHC 8.10.2

optics-th- (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