simplified import of lens-family
Go to file
2015-05-05 23:22:36 -04:00
examples added lens-family-th, wibbles 2015-05-05 20:18:30 -04:00
Lens cabal file 2015-05-05 23:22:36 -04:00
lens-family-simple.cabal cabal file 2015-05-05 23:22:36 -04:00
LICENSE first commit 2014-04-26 23:21:13 -04:00
README.md Update README.md 2015-05-05 22:05:36 -04:00
Setup.hs first commit 2014-04-26 23:21:13 -04:00

lens-family-simple

This just re-exports the combinators and elementary lenses and traversals from the original 'van Laarhoven' lens library, Russell O'Connor's lens-family package, including Lens.Family.State.Strict, and the corresponding TH module from Dan Burton's lens-family-th so you can makeLenses and makeTraversals automatically.

lens-family has a inexplicably complex structure and distinctly unpleasant module names. This omnibus module is mostly just intended to simplify imports for use with pipes and associated pipes libraries. The special quasi-lenses that pervade these libraries frequently require, at a minimum, that some version of view/(^.), overand zoom should be in scope.

The only non-ghc-boot library lens-family and lens-family-th require is mtl.

The naming in lens-family is more or less uniform with the more powerful and elaborate lens library, so it can be dropped in favor of lens should the more advanced combinators become become necessary. The pong example from the lens/examples in the repository of the lens library is included here as an illustration of the strength of lens-families + lens-families-th and their coherence with the nomenclature of the Control.Lens. Nothing was needed but the change of imports.