#!/bin/sh
export PATH='/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl'
echo 'name: lens
version: 4.15.4
id: lens-4.15.4-HtXgyLN3Vht5NtVmeAbkJr
key: lens-4.15.4-HtXgyLN3Vht5NtVmeAbkJr
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: 30a5ba058ebc117003f782e6e57a90e5
trusted: False
import-dirs: /usr/lib/ghc-8.2.2/site-local/lens-4.15.4
library-dirs: /usr/lib/ghc-8.2.2/site-local/lens-4.15.4
dynamic-library-dirs: /usr/lib
data-dir: /usr/share/x86_64-linux-ghc-8.2.2/lens-4.15.4
hs-libraries: HSlens-4.15.4-HtXgyLN3Vht5NtVmeAbkJr
depends:
    array-0.5.2.0 base-4.10.1.0 base-orphans-0.6-KoJqNefbvUAEuaR7CDOiu4
    bifunctors-5.5.2-94kf3OsUkOC5RwLYUjAKOE bytestring-0.10.8.2
    call-stack-0.1.0-BVjoAlBRe9FCSr5eFfllei
    comonad-5.0.3-1wQLfIXhDc15HcgpkWgfSP
    contravariant-1.4.1-7cEYjzgkYgPFdXWpdMNGgr containers-0.5.10.2
    distributive-0.5.3-3QQWO3yfOScASLf5zUz2JE filepath-1.4.1.2
    free-4.12.4-BqwA8q1r5JqCAHiRrnepOv ghc-prim-0.5.1.1
    hashable-1.2.7.0-LNZUQuuTAXDAhrIFkkeiYc
    kan-extensions-5.1-BVzn32apjBk39hm4cubvZX
    exceptions-0.8.3-FtqgxeR4VUg9hGcIqYr2bq
    mtl-2.2.2-8XubxMJDT8QLsstvlNotkc
    parallel-3.2.1.1-6PIhrl6oqe7Af1Z2sa6T1
    profunctors-5.2.2-Fwq0mRaWq8LLaqMN903zvN
    reflection-2.1.3-E897NHjR81y5st3IxFkElo
    semigroupoids-5.2.2-85MDbRqhEWkFTVTQWF4lc9
    semigroups-0.18.4-mxkGq2xNPcBC0dj8uuk3q
    tagged-0.8.5-BP06XmR1GLaIsvsOKwGst2 template-haskell-2.12.0.0
    th-abstraction-0.2.6.0-KdJUlqAwMfUIgxZVMgLLVd
    text-1.2.3.0-FxgEmn4RjqC37dwdnPGDhj transformers-0.5.2.0
    transformers-compat-0.5.1.4-EAh8Ccrgitz4vTZtbTPyCM
    unordered-containers-0.2.9.0-BDwE3H9gLbqBuONTkERyOz
    vector-0.12.0.1-JlawpRjIcMJIYPJVsWriIA
    void-0.7.2-FiGeS4PZxPp8gUDrtvjFKC
abi-depends: array-0.5.2.0=26dc06837667b4f45ea7fe07c114ff89
             base-4.10.1.0=35a7f6be752ee4f7385cb5bf28677879
             base-orphans-0.6-KoJqNefbvUAEuaR7CDOiu4=1ea863fa192fc45e8d2cbbea64399d3f
             bifunctors-5.5.2-94kf3OsUkOC5RwLYUjAKOE=23cefe509e99b94913f63d1e25d29717
             bytestring-0.10.8.2=4a9e2cf748f0e2cc5be33be7a5505ecf
             call-stack-0.1.0-BVjoAlBRe9FCSr5eFfllei=f637009e526e2490e52d1ac470f88ae2
             comonad-5.0.3-1wQLfIXhDc15HcgpkWgfSP=fc3e366dce9e6d7067262bb58c14c354
             contravariant-1.4.1-7cEYjzgkYgPFdXWpdMNGgr=38aa997d99cc8fa8fedb16be108b3d30
             containers-0.5.10.2=cc49645af4ed58d1819a7e09ee1f7920
             distributive-0.5.3-3QQWO3yfOScASLf5zUz2JE=9f8452151d097c3dbc68cb5512a37843
             filepath-1.4.1.2=f49190c9093d895f9f159c40e7d1ff46
             free-4.12.4-BqwA8q1r5JqCAHiRrnepOv=703e7ad879ac3e35bb8beb877fb40505
             ghc-prim-0.5.1.1=c8f3d173544d1472727fce7b0518abda
             hashable-1.2.7.0-LNZUQuuTAXDAhrIFkkeiYc=c4d94c55b0f818097c80d373d8b40893
             kan-extensions-5.1-BVzn32apjBk39hm4cubvZX=d5243121d6f033d6b19c8b2df4818e38
             exceptions-0.8.3-FtqgxeR4VUg9hGcIqYr2bq=eff2744d823431f8209ca0d87f216828
             mtl-2.2.2-8XubxMJDT8QLsstvlNotkc=ada793ec1f149425d0c0689d53e1173b
             parallel-3.2.1.1-6PIhrl6oqe7Af1Z2sa6T1=8e776fe3690179bf950ef68b6c149b55
             profunctors-5.2.2-Fwq0mRaWq8LLaqMN903zvN=d8e9c9f7db50bd7a333dd229c7d43333
             reflection-2.1.3-E897NHjR81y5st3IxFkElo=06fbef6704a567ae72ebda88ffdda06f
             semigroupoids-5.2.2-85MDbRqhEWkFTVTQWF4lc9=4406e3aa1c02843e73a1ae9e4eaa7009
             semigroups-0.18.4-mxkGq2xNPcBC0dj8uuk3q=c739600aa012ae17eb506df1a043419b
             tagged-0.8.5-BP06XmR1GLaIsvsOKwGst2=4764468d99de060aada7572c7b2f4378
             template-haskell-2.12.0.0=2257617827b0258ca46e933b344007b7
             th-abstraction-0.2.6.0-KdJUlqAwMfUIgxZVMgLLVd=e39297a399602642b45643ca1a00bc5f
             text-1.2.3.0-FxgEmn4RjqC37dwdnPGDhj=d51c5ac73448d7d6c9cbe4dedb95457e
             transformers-0.5.2.0=e04579c0363c9229351d1a0b394bf2d5
             transformers-compat-0.5.1.4-EAh8Ccrgitz4vTZtbTPyCM=94a5340d64a5db3506fe5654c7b40389
             unordered-containers-0.2.9.0-BDwE3H9gLbqBuONTkERyOz=9d795026e0df763f1ffeaf92b7adcdda
             vector-0.12.0.1-JlawpRjIcMJIYPJVsWriIA=a99b30cfe85615e5f75a9a70e1864f51
             void-0.7.2-FiGeS4PZxPp8gUDrtvjFKC=2129d94dd9a574dcd2d2bc46dca144d6
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' "$@"

