polytropos-optics: optics-core integration for polytropos open records and variants

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]

Integration between polytropos and the optics / optics-core ecosystem.

Provides Van Laarhoven lenses for record fields via Polytropos.Optics.fieldLens, first-class prisms for variant constructors via Polytropos.Optics.ctorOptic, and Optics.Label.LabelOptic instances allowing #fieldName lens syntax with OverloadedLabels.

Start at the front door module Polytropos.Optics for complete documentation, usage guidelines, and worked examples.


[Skip to Readme]

Properties

Versions 0.1.0.0, 0.1.0.2, 0.1.0.3
Change log CHANGELOG.md
Dependencies base (>=4.14 && <5), optics-core (>=0.4 && <0.5), polytropos-core (>=0.1 && <0.2) [details]
License (EUPL-1.2 OR Apache-2.0)
Author Nadia Yvette Chambers
Maintainer nadia.yvette.chambers@ik.me
Category Optics, Data
Home page https://github.com/NadiaYvette/polytropos
Bug tracker https://github.com/NadiaYvette/polytropos/issues
Source repo head: git clone https://github.com/NadiaYvette/polytropos(packages/polytropos-optics)
Uploaded by nyc at 2026-10-17T18:55:14Z

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Readme for polytropos-optics-0.1.0.0

[back to package description]

polytropos-optics

Profunctor optics integration for polytropos open records and variants via optics-core.

Overview

polytropos-optics provides profunctor-based optics compatible with the optics ecosystem, offering improved type error messages and faster compile times compared to traditional Van Laarhoven lenses.

Features

License

Dual-licensed under EUPL-1.2 OR Apache-2.0.