This package provides first class(†) functional references. In addition to the usual operations of getting, setting and composition, plus integration with the state monad, lens families provide some unique features:

  • Polymorphic updating

  • Traversals

  • Cast projection functions to read-only lenses

  • Cast "toList" functions to read-only traversals

  • Cast semantic editor combinators to modify-only traversals.

(†) For optimal first-class support use the lens-family package with rank 2 / rank N polymorphism. Lens.Family.Clone allows for first-class support of lenses and traversals for those who require Haskell 98.


1.2.1 (Changes from 1.2.0)
* Bump dependency on transformers

1.2.0 (Changes from 1.1.0)
* Corrected associativity of ^. ^.. and ^? from right to left.

1.1.0 (Changes from 1.0.1)
* Some type synonym definitions have been altered, but should be equivalent.
* Removed Getting and Setting functors and instead use the equivalent standard functors Const and Identity.
* Renamed Setter to ASetter and generalized Setters to be a LensLike constrained to an "Identical" functor.
* Added the (<~) operator.
* Corrected the definition of ATraversal'

1.0.1 (Changes from 1.0.0)
* Bump dependency on transformers

1.0.0 (Changes from 0.1.0)
* added support for folds and traversals
* renamed all functions to be mostly compatible with the lexicon from lens.

0.1.0 (Changes from 0.0.1)
* added project and sec
* added <>= and <>~
* renamed functional modifier operators
* renamed LensFamily and Lens to RefFamily and Ref
* moving setting to Lens.Family.Unchecked because one needs to verify the functor laws

0.0.1 (Changes from 0.0.0)
* Bump dependency on containers
* Fixed dependency on mtl
comments powered byDisqus