This module, <http://hackage.haskell.org/package/lenssimple/docs/LensSimple.html Lens.Simple>, just reexports the main modules from Russell O'Connor's <http://hackage.haskell.org/package/lensfamily lensfamily> package, the original van LaarhovenO'Connor lens library. 'lensfamily' is particularly remarkable for its minute number of dependencies: (apart from <http://hackage.haskell.org/package/mtl mtl> they are all ghc 'boot' libraries); but more importantly for its extreme conceptual simplicity and theoretical soundness. Much of the material it contains is wellexplained, from a tutorial point of view, by <http://hackage.haskell.org/package/lenstutorial lenstutorial> It is independent, selfstanding and readily intelligible apart from any darker more general system of combinators that might attempt to extend it. Much of it ought to be in the Prelude.
Convenient import of the elementary combinators from 'lensfamily', however, a little complicated. The idea of this trivial module, then, is just to make a sort of lowpowered, minimaldependency, 'lensfamily' equivalent of the 800 lb gorilla of lens library imports:
> import Control.Lens
namely, the lightweight and elegant:
> import Lens.Simple
Check it out, it's even one character shorter!
The material in <http://hackage.haskell.org/package/lenstutorial lenstutorial> will work fine if you make this substitution in the underlying <http://hackage.haskell.org/package/lenstutorial1.0.0/docs/src/ControlLensTutorial.html source> and follow along as prompted.
As another illustration of the simplicity of the fundamental van LaarhovenO'Connor lens combinators  and their homogeneity with 'Control.Lens'
<https://github.com/michaelt/lensfamilysimple/blob/master/examples/Pong.hs pong example> from the 'lens' library examples directory  which continues to be among the best introductory lens tutorials precisely by saying nothing  requires only this abbreviating change of imports.
If you make that program more complicated, you might of course end up needing the more sophisticated material in 'Control.Lens' and its immense mass of dependencies. On the other hand, you might just need some of the additional material present in the similarly demystifying <http://hackage.haskell.org/package/microlens microlens> or <http://hackage.haskell.org/package/microlensth microlensth> and the associated modules.
This module was originally intended to simplify the use of packages that follow the original promise of the van LaarhovenO'Connor lenses. /Correct practice is to export lenses without depending on a lenslibrary, where possible./ In basic cases these just use familiar 'Prelude' types, after all. Examples of best practices in this respect are e.g. <http://hackage.haskell.org/package/lensfamilyth lensfamilyth> which doesn't depend on 'lensfamily' despite its name and pipesrelated packages like <http://hackage.haskell.org/package/pipesbytestring pipesbytestring> and <http://hackage.haskell.org/package/pipesgroup pipesgroup>.
'Lens.Simple' also reexports convenient TH incantations like 'makeLenses' from Dan Burton's associated <http://hackage.haskell.org/package/lensfamilyth lensfamilyth>. .
Package Version  Update ID  Released  Package Hub Version  Platforms  Subpackages 

0.1.0.9bp150.1.3 info  GA Release  20180730  15 

