dani-optics-dot: Use OverloadedRecordDot for nested optics access.

[ bsd3, data, lenses, library, optics ] [ Propose Tags ] [ Report a vulnerability ]

Extra typeclasses and instances for the "optics-core" package, that allow syntax like the.foo.bar to express the composition of record field lenses foo and bar.

For each datatype, we can select through DerivingVia how to obtain optics for its fields or constructors.

Usually the optics are obtained through the built-in support "optics-core" has for generic deriving, but other methods are supported as well.

Type-changing updates are supported.


[Skip to Readme]

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0.0, 0.2.0.0
Change log CHANGELOG.md
Dependencies base (>=4.19.0.0 && <5), optics-core (>=0.4.1.1 && <0.5) [details]
Tested with ghc ==9.8.4 || ==9.10.1 || ==9.12.2
License BSD-3-Clause
Author Daniel Díaz
Maintainer diaz_carrete@yahoo.com
Uploaded by DanielDiazCarrete at 2026-01-09T07:55:28Z
Category Data, Optics, Lenses
Source repo head: git clone git@github.com:danidiaz/dani-optics-dot.git
Distributions
Downloads 4 total (4 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2026-01-09 [all 1 reports]

Readme for dani-optics-dot-0.2.0.0

[back to package description]

optics-dot

Use OverloadedRecordDot for nested field access and modification using optics from the "optics-core" package.

See the Haddocks for the Optics.Dot module for an example.

(Note that "optics-core" already provides syntactic sugar for field lenses in the Optics.Label module. It's based on OverloadedLabels instead of OverloadedRecordDot.)