@hackage lens-simple0.1.0.2

simplified import of elementary lens-family combinators

This module, @Lens.Simple@ , just re-exports the main modules from Russell O'Connor's lens-family package, the original van Laarhoven lens library. Lens.Simple also re-exports makeLenses and other TH incantations from Dan Burton's associated lens-family-th.

The idea is just to make a sort of minimal-dependency lens-family equivalent of import Control.Lens, namely import Lens.Simple -- it's even one character shorter!

As an illustration, note that the pong example from the lens library requires only this abbreviating change of imports. If you care to make that program more complicated, you might at some point need the unfathomably more sophisticated material in Control.Lens. Because lens-family accords as far as possible, with Control.Lens, within its more limited sphere, a change of imports will often be all that is necessary to begin using them.

It is rarely necessary to exceed the materials exported here when using the lenses and quasi-lenses exported by e.g. pipes-bytestring or pipes-group. It is for such use-cases that this module is principally intended.

Note that many of the other lenses and combinators are a bit more specialized than their Control.Lens equivalents: for example, _1 and _2 are here familiarly specialized to act just on real Haskell pairs. With the loss of abstraction we also of course lose the concomitant opaque error messages about Field1 s t a b etc.