Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
First class composable record labels for Haskell.
Haskell Shell
Branch: master
Pull request Compare This branch is 1 commit ahead, 166 commits behind sebastiaanvisser:master.

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
bench
src/Data
test
.gitignore
CHANGELOG
LICENCE
README
Setup.lhs
fclabels.cabal

README

This package provides first class labels that can act as bidirectional record
fields. The labels can be derived automatically using Template Haskell which
means you don't have to write any boilerplate yourself. The labels are
implemented as lenses and are fully composable. Labels can be used to get, set
and modify parts of a datatype in a consistent way.

See Data.Label for an introductory explanation.

Internally lenses are not tied to Haskell functions directly, but are
implemented as arrows. Arrows allow the lenses to be run in custom
computational contexts. This approach allows us to make partial lenses that
point to fields of multi-constructor datatypes in an elegant way.

See the Data.Label.Maybe module for the use of partial labels.

Something went wrong with that request. Please try again.