diff options
Diffstat (limited to 'dev-haskell/lens-simple/metadata.xml')
-rw-r--r-- | dev-haskell/lens-simple/metadata.xml | 76 |
1 files changed, 0 insertions, 76 deletions
diff --git a/dev-haskell/lens-simple/metadata.xml b/dev-haskell/lens-simple/metadata.xml deleted file mode 100644 index 3f1d56fb58af..000000000000 --- a/dev-haskell/lens-simple/metadata.xml +++ /dev/null @@ -1,76 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> -<pkgmetadata> - <maintainer type="project"> - <email>haskell@gentoo.org</email> - <name>Gentoo Haskell</name> - </maintainer> - <longdescription> - This module, <http://hackage.haskell.org/package/lens-simple/docs/Lens-Simple.html Lens.Simple>, - just re-exports the main modules from Russell O\'Connor's - <http://hackage.haskell.org/package/lens-family lens-family> package, the - original van Laarhoven-O'Connor lens library. - @lens-family@ 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 well-explained, from a tutorial point of view, by - <http://hackage.haskell.org/package/lens-tutorial lens-tutorial> It is independent, - self-standing 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 @lens-family@, - however, a little complicated. The idea of this trivial module, then, is just to make a sort of - low-powered, minimal-dependency, @lens-family@ equivalent of - the 800 lb gorilla of lens library imports: - - > import Control.Lens - - namely, the light-weight and elegant: - - > import Lens.Simple - - Check it out, it's even one character shorter! - - The material in <http://hackage.haskell.org/package/lens-tutorial lens-tutorial> - will work fine if you make this substitution in the underlying - <http://hackage.haskell.org/package/lens-tutorial-1.0.0/docs/src/Control-Lens-Tutorial.html source> - and follow along as prompted. - - As another illustration of the simplicity of the - fundamental van Laarhoven-O'Connor lens combinators - and their homogeneity with - @Control.Lens@ - note that the gloss - <https://github.com/michaelt/lens-family-simple/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/microlens-th microlens-th> and - the associated modules. - - This module was originally intended to simplify the use of packages that - follow the original promise of the van Laarhoven-O'Connor lenses. - /Correct practice is to export lenses without depending on a lens-library, 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/lens-family-th lens-family-th> which - doesn't depend on @lens-family@ despite its name and pipes-related packages like - <http://hackage.haskell.org/package/pipes-bytestring pipes-bytestring> - and <http://hackage.haskell.org/package/pipes-group pipes-group>. - - @Lens.Simple@ also re-exports @makeLenses@ and - other convenient TH incantations from Dan Burton's associated - <http://hackage.haskell.org/package/lens-family-th lens-family-th>. - - </longdescription> - <upstream> - <remote-id type="github">michaelt/lens-simple</remote-id> - </upstream> -</pkgmetadata> |