#!/bin/sh
export PATH='/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl'
echo 'name: lens
version: 4.15.4
id: lens-4.15.4-BVNSGosFkEc34U2t4uFumn
key: lens-4.15.4-BVNSGosFkEc34U2t4uFumn
license: BSD2
copyright: Copyright (C) 2012-2016 Edward A. Kmett
maintainer: Edward A. Kmett <ekmett@gmail.com>
stability: provisional
homepage: http://github.com/ekmett/lens/
synopsis: Lenses, Folds and Traversals
description:
    This package comes \"Batteries Included\" with many useful lenses for the types
    commonly used from the Haskell Platform, and with tools for automatically
    generating lenses and isomorphisms for user-supplied data types.
    .
    The combinators in @Control.Lens@ provide a highly generic toolbox for composing
    families of getters, folds, isomorphisms, traversals, setters and lenses and their
    indexed variants.
    .
    An overview, with a large number of examples can be found in the <https://github.com/ekmett/lens#lens-lenses-folds-and-traversals README>.
    .
    An introductory video on the style of code used in this library by Simon Peyton Jones is available from <http://skillsmatter.com/podcast/scala/lenses-compositional-data-access-and-manipulation Skills Matter>.
    .
    A video on how to use lenses and how they are constructed is available on <http://youtu.be/cefnmjtAolY?hd=1 youtube>.
    .
    Slides for that second talk can be obtained from <http://comonad.com/haskell/Lenses-Folds-and-Traversals-NYC.pdf comonad.com>.
    .
    More information on the care and feeding of lenses, including a brief tutorial and motivation
    for their types can be found on the <https://github.com/ekmett/lens/wiki lens wiki>.
    .
    A small game of @pong@ and other more complex examples that manage their state using lenses can be found in the <https://github.com/ekmett/lens/blob/master/examples/ example folder>.
    .
    /Lenses, Folds and Traversals/
    .
    With some signatures simplified, the core of the hierarchy of lens-like constructions looks like:
    .
    .
    <<http://i.imgur.com/ALlbPRa.png>>
    .
    <Hierarchy.png (Local Copy)>
    .
    You can compose any two elements of the hierarchy above using @(.)@ from the @Prelude@, and you can
    use any element of the hierarchy as any type it linked to above it.
    .
    The result is their lowest upper bound in the hierarchy (or an error if that bound doesn'\''t exist).
    .
    For instance:
    .
    * You can use any '\''Traversal'\'' as a '\''Fold'\'' or as a '\''Setter'\''.
    .
    * The composition of a '\''Traversal'\'' and a '\''Getter'\'' yields a '\''Fold'\''.
    .
    /Minimizing Dependencies/
    .
    If you want to provide lenses and traversals for your own types in your own libraries, then you
    can do so without incurring a dependency on this (or any other) lens package at all.
    .
    /e.g./ for a data type:
    .
    > data Foo a = Foo Int Int a
    .
    You can define lenses such as
    .
    > -- bar :: Lens'\'' (Foo a) Int
    > bar :: Functor f => (Int -> f Int) -> Foo a -> f (Foo a)
    > bar f (Foo a b c) = fmap (\a'\'' -> Foo a'\'' b c) (f a)
    .
    > -- quux :: Lens (Foo a) (Foo b) a b
    > quux :: Functor f => (a -> f b) -> Foo a -> f (Foo b)
    > quux f (Foo a b c) = fmap (Foo a b) (f c)
    .
    without the need to use any type that isn'\''t already defined in the @Prelude@.
    .
    And you can define a traversal of multiple fields with '\''Control.Applicative.Applicative'\'':
    .
    > -- traverseBarAndBaz :: Traversal'\'' (Foo a) Int
    > traverseBarAndBaz :: Applicative f => (Int -> f Int) -> Foo a -> f (Foo a)
    > traverseBarAndBaz f (Foo a b c) = Foo <$> f a <*> f b <*> pure c
    .
    What is provided in this library is a number of stock lenses and traversals for
    common haskell types, a wide array of combinators for working them, and more
    exotic functionality, (/e.g./ getters, setters, indexed folds, isomorphisms).
category: Data, Lenses, Generics
author: Edward A. Kmett
exposed: True
indefinite: False
exposed-modules:
    Control.Exception.Lens Control.Lens Control.Lens.At
    Control.Lens.Combinators Control.Lens.Cons Control.Lens.Each
    Control.Lens.Empty Control.Lens.Equality Control.Lens.Extras
    Control.Lens.Fold Control.Lens.Getter Control.Lens.Indexed
    Control.Lens.Internal Control.Lens.Internal.Bazaar
    Control.Lens.Internal.ByteString Control.Lens.Internal.CTypes
    Control.Lens.Internal.Coerce Control.Lens.Internal.Context
    Control.Lens.Internal.Deque Control.Lens.Internal.Exception
    Control.Lens.Internal.FieldTH Control.Lens.Internal.Fold
    Control.Lens.Internal.Getter Control.Lens.Internal.Indexed
    Control.Lens.Internal.Instances Control.Lens.Internal.Iso
    Control.Lens.Internal.Level Control.Lens.Internal.List
    Control.Lens.Internal.Magma Control.Lens.Internal.Prism
    Control.Lens.Internal.PrismTH Control.Lens.Internal.Review
    Control.Lens.Internal.Setter Control.Lens.Internal.TH
    Control.Lens.Internal.Zoom Control.Lens.Iso Control.Lens.Lens
    Control.Lens.Level Control.Lens.Operators Control.Lens.Plated
    Control.Lens.Prism Control.Lens.Reified Control.Lens.Review
    Control.Lens.Setter Control.Lens.TH Control.Lens.Traversal
    Control.Lens.Tuple Control.Lens.Type Control.Lens.Wrapped
    Control.Lens.Zoom Control.Monad.Error.Lens
    Control.Parallel.Strategies.Lens Control.Seq.Lens Data.Array.Lens
    Data.Bits.Lens Data.ByteString.Lazy.Lens Data.ByteString.Lens
    Data.ByteString.Strict.Lens Data.Complex.Lens Data.Data.Lens
    Data.Dynamic.Lens Data.HashSet.Lens Data.IntSet.Lens Data.List.Lens
    Data.Map.Lens Data.Sequence.Lens Data.Set.Lens Data.Text.Lazy.Lens
    Data.Text.Lens Data.Text.Strict.Lens Data.Tree.Lens
    Data.Typeable.Lens Data.Vector.Generic.Lens Data.Vector.Lens
    GHC.Generics.Lens Language.Haskell.TH.Lens Numeric.Lens
    System.Exit.Lens System.FilePath.Lens System.IO.Error.Lens
hidden-modules: Paths_lens
abi: e82338a07e0485545cf962061c874e46
trusted: False
import-dirs: /usr/lib/ghc-8.2.1/site-local/lens-4.15.4
library-dirs: /usr/lib/ghc-8.2.1/site-local/lens-4.15.4
dynamic-library-dirs: /usr/lib
data-dir: /usr/share/x86_64-linux-ghc-8.2.1/lens-4.15.4
hs-libraries: HSlens-4.15.4-BVNSGosFkEc34U2t4uFumn
depends:
    array-0.5.2.0 base-4.10.0.0 base-orphans-0.6-9iPDLrUqQ5yHb9fb9OUZ9L
    bifunctors-5.4.2-EkvLHEGusmL2QBUCGZ7PSE bytestring-0.10.8.2
    call-stack-0.1.0-9jal1kz08FU8PWnIBPoZ86
    comonad-5.0.2-AAFyIh6Dm39islDxts6T3
    contravariant-1.4-1lqq0vqix8Y43XZ7Q5hTLe containers-0.5.10.2
    distributive-0.5.3-99ryfobDi0e5qzYasSVH5G filepath-1.4.1.2
    free-4.12.4-Jg96zolWYJa3X3zzp8DnHv ghc-prim-0.5.1.0
    hashable-1.2.6.1-5D85BzUWIsjDNuFvtLMWyk
    kan-extensions-5.0.2-58eqXniYEEvAZKI0q8zVEZ
    exceptions-0.8.3-BkxQoXHQAbWGd28nf3VeZ6
    mtl-2.2.1-19EL8AGBsN3DnnOhrC9xY3
    parallel-3.2.1.1-BDA8bigzIyf7HfOpmZ9w2K
    profunctors-5.2.1-tcGHrJuwpB2Qib1uMFFo0
    reflection-2.1.2-HPYmHAmlpRJ9gRQTzfKOSy
    semigroupoids-5.2.1-BrFpsm3Xb4SLTmLSosQvtp
    semigroups-0.18.3-6KPIVJcHqOOBHjBl8WA5LP
    tagged-0.8.5-7Kuk6etyDBjGPRKMYpsbFG template-haskell-2.12.0.0
    th-abstraction-0.2.6.0-HOzElmEPaB0LxMlcRCgfSl
    text-1.2.2.2-KYRZgO9N4MoJ4sC5lMiKTz transformers-0.5.2.0
    transformers-compat-0.5.1.4-8ofY1OHzPhX5dvYk512o2v
    unordered-containers-0.2.8.0-KL4HUdwCmhYBQDTvY5v0GN
    vector-0.12.0.1-CnPH69pDwM4A5esizlXfXi
    void-0.7.2-KNNEd7XG9bDRysTndgnf2
abi-depends: array-0.5.2.0=f1e5b16bbab6fd27896e28be963fa7eb
             base-4.10.0.0=835a16347ec1b210054efd02671c29ee
             base-orphans-0.6-9iPDLrUqQ5yHb9fb9OUZ9L=6f3238ab8dc32a050f05daaac8b4e9c9
             bifunctors-5.4.2-EkvLHEGusmL2QBUCGZ7PSE=339c00834bb4e63000d8fbc198c7bd3f
             bytestring-0.10.8.2=590a7a3c0bdcf7a6a59d8c8ef548a44a
             call-stack-0.1.0-9jal1kz08FU8PWnIBPoZ86=6592aa5f1dd03cb121c0dc0bf203f202
             comonad-5.0.2-AAFyIh6Dm39islDxts6T3=e435daeed8e5e8f3fb3762bba345f59e
             contravariant-1.4-1lqq0vqix8Y43XZ7Q5hTLe=a01d65f47ceb3bf15b10adec053960e0
             containers-0.5.10.2=dd4e66fa9ac268f47a15786f1100b042
             distributive-0.5.3-99ryfobDi0e5qzYasSVH5G=55d15f1598904712f5a9bd44899181d1
             filepath-1.4.1.2=7f2f990ae2114c616de6dfc1a7f18a6e
             free-4.12.4-Jg96zolWYJa3X3zzp8DnHv=cf2f499c8e30e552eb342a632643ab2d
             ghc-prim-0.5.1.0=fda2a11477a7bf13cbe78cc4c41e22f7
             hashable-1.2.6.1-5D85BzUWIsjDNuFvtLMWyk=5285d4c9a9fd47aab57774d045fde1ac
             kan-extensions-5.0.2-58eqXniYEEvAZKI0q8zVEZ=bebfa5e430e4b22b0db3f3ecce3fabae
             exceptions-0.8.3-BkxQoXHQAbWGd28nf3VeZ6=98ab8c145be258d01b7a6333e00858ed
             mtl-2.2.1-19EL8AGBsN3DnnOhrC9xY3=dff2eda61fc7cfa040a2eb3f0192c69a
             parallel-3.2.1.1-BDA8bigzIyf7HfOpmZ9w2K=a6a9d1f2af48250cd055be2524af2881
             profunctors-5.2.1-tcGHrJuwpB2Qib1uMFFo0=452ba470dee5468fae2df131cd1708d4
             reflection-2.1.2-HPYmHAmlpRJ9gRQTzfKOSy=700d14339d5b635fa31921f21cdb6502
             semigroupoids-5.2.1-BrFpsm3Xb4SLTmLSosQvtp=e742de7d30914c6cf37674aca543980e
             semigroups-0.18.3-6KPIVJcHqOOBHjBl8WA5LP=f833729171d8aeedacf984b736ec248c
             tagged-0.8.5-7Kuk6etyDBjGPRKMYpsbFG=6c301deca00e1028f6b7aaf9783563bf
             template-haskell-2.12.0.0=f12600dbe1b363b1dcebe6addb7b269e
             th-abstraction-0.2.6.0-HOzElmEPaB0LxMlcRCgfSl=f58075f19728890b270a07487cc09598
             text-1.2.2.2-KYRZgO9N4MoJ4sC5lMiKTz=9217a19661a41b462c62d1a4bdf2e9b1
             transformers-0.5.2.0=2645d250dd615ce454f807270041c5ea
             transformers-compat-0.5.1.4-8ofY1OHzPhX5dvYk512o2v=be80f3d454efcaa9a115f9c6da29209c
             unordered-containers-0.2.8.0-KL4HUdwCmhYBQDTvY5v0GN=f561664cdb04511e569f0d44c9086d8e
             vector-0.12.0.1-CnPH69pDwM4A5esizlXfXi=23f6c0fe109d2ea8c2d28bae9257ae6c
             void-0.7.2-KNNEd7XG9bDRysTndgnf2=e45a06b6abcbf654a03aca35c4e20206
haddock-interfaces: /usr/share/doc/haskell-lens/html/lens.haddock
haddock-html: /usr/share/doc/haskell-lens/html
' | '/usr/bin/ghc-pkg' 'update' '--force' '-' '--global' '--no-user-package-db' "$@"

