#!/bin/sh
export PATH='/usr/lib/distcc/bin:/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.17
id: lens-4.17-DBHDXcVqN2nqWOaQAQvSy
key: lens-4.17-DBHDXcVqN2nqWOaQAQvSy
license: BSD-2-Clause
copyright: Copyright (C) 2012-2016 Edward A. Kmett
maintainer: Edward A. Kmett <ekmett@gmail.com>
author: Edward A. Kmett
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
abi: 547eacaa7347f00d23fb70a9848ddb4e
exposed: True
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.Unsound
    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
    Numeric.Natural.Lens System.Exit.Lens System.FilePath.Lens
    System.IO.Error.Lens
hidden-modules: Paths_lens
import-dirs: /usr/lib/ghc-8.4.3/site-local/lens-4.17
library-dirs: /usr/lib/ghc-8.4.3/site-local/lens-4.17
dynamic-library-dirs: /usr/lib
data-dir: /usr/share/arm-linux-ghc-8.4.3/lens-4.17
hs-libraries: HSlens-4.17-DBHDXcVqN2nqWOaQAQvSy
depends:
    array-0.5.2.0 base-4.11.1.0 base-orphans-0.8-KzN2YoGU7YoR9GnLo7vSO
    bifunctors-5.5.3-Dx94fjnR78rHAu6H9sepjF bytestring-0.10.8.2
    call-stack-0.1.0-Eiz5FM8yQXpI3vyQ1Rt4Jq
    comonad-5.0.4-L245XbCBrgdLdCTrjWcxlI
    contravariant-1.5-5VBqEYOPGpyDW8QIali4BA containers-0.5.11.0
    distributive-0.6-GOTXLCECHk8HIe0QUSh7FO filepath-1.4.2
    free-5.1-1BVd7X4qa94tQBtq2rV9s ghc-prim-0.5.2.0
    hashable-1.2.7.0-KBRKfoLB8Vi3u8lTX7XQlg
    kan-extensions-5.2-4Sv0dcuZePML15y3TARFdI
    exceptions-0.10.0-4E5CMyEcw7c5SGR3xFIeNi mtl-2.2.2
    parallel-3.2.2.0-E8M4t2NF24XDDNAVbYCukS
    profunctors-5.3-5ereKeBpEXXHAaZrjdzJHA
    reflection-2.1.4-ET4Qfoy5lmWBopRK3ezJIQ
    semigroupoids-5.3.1-JFiz7imMBI8JcKI58oF6q6
    tagged-0.8.6-8akQ1aZG2N2GFJpoB5eGXO template-haskell-2.13.0.0
    th-abstraction-0.2.8.0-Ct896m4STpK8GA15Cl5y88 text-1.2.3.0
    transformers-0.5.5.0
    transformers-compat-0.6.2-EZ0ZvADLUlc4V8RuKaJX5W
    unordered-containers-0.2.9.0-KPgljVKoY3VBKTw1tFbcre
    vector-0.12.0.1-1fezwShzdEfG3Hp1Pmvjkq
    void-0.7.2-JAsenjnj1DBHDal2sW0JoW
abi-depends: array-0.5.2.0=dc85b03ee806d784249cc791da6109c3
             base-4.11.1.0=a3fb1645bafaa89172454c2eea8dfdc9
             base-orphans-0.8-KzN2YoGU7YoR9GnLo7vSO=e2933fff268e380174ba1d3b8324d375
             bifunctors-5.5.3-Dx94fjnR78rHAu6H9sepjF=2b112f4de7650a73c0243572f200c3f6
             bytestring-0.10.8.2=9faa89cf4769cbd12751f8644ca9e618
             call-stack-0.1.0-Eiz5FM8yQXpI3vyQ1Rt4Jq=c76ca250c7cf6b5c2ee744c15760c93f
             comonad-5.0.4-L245XbCBrgdLdCTrjWcxlI=c1b18d1ad3a461ac4c005c7be7c16723
             contravariant-1.5-5VBqEYOPGpyDW8QIali4BA=02e9ed60b8864056c6af15ff76a262ef
             containers-0.5.11.0=94bb4831ae701bd40855b2dc2d65cf7c
             distributive-0.6-GOTXLCECHk8HIe0QUSh7FO=8ad4fa405b9e18f1fa6d35f809cfa1f4
             filepath-1.4.2=2408ba322304c0a06810db2d7363214a
             free-5.1-1BVd7X4qa94tQBtq2rV9s=536b9c5e9cb083143196fbd3e8c448ea
             ghc-prim-0.5.2.0=387aa7e78e4e6c49e51798e4d6763c3f
             hashable-1.2.7.0-KBRKfoLB8Vi3u8lTX7XQlg=0f14342a1ffe8710d31657335cf81134
             kan-extensions-5.2-4Sv0dcuZePML15y3TARFdI=1cfa366a6837a3917aec9e9574b56d54
             exceptions-0.10.0-4E5CMyEcw7c5SGR3xFIeNi=b417f0870e3d66d725c431d901a306c8
             mtl-2.2.2=0b3b35c3b96c7607606ed10087c4aa4a
             parallel-3.2.2.0-E8M4t2NF24XDDNAVbYCukS=bfa6d2c22d7e7c439a84add8c91d8e7a
             profunctors-5.3-5ereKeBpEXXHAaZrjdzJHA=7164ae158e365c84e88715dc2a93cc03
             reflection-2.1.4-ET4Qfoy5lmWBopRK3ezJIQ=37ee6153039d91a8a0a308b6c7631d8e
             semigroupoids-5.3.1-JFiz7imMBI8JcKI58oF6q6=68c87984e4148aa3978cb255236ab388
             tagged-0.8.6-8akQ1aZG2N2GFJpoB5eGXO=92d44612a64675b8cba7ce44e507a395
             template-haskell-2.13.0.0=ac7dfd04924d4ebfa90a119ad22a36cc
             th-abstraction-0.2.8.0-Ct896m4STpK8GA15Cl5y88=4938497122b3b44bd39134a6de0cb043
             text-1.2.3.0=9752fd647a108be49a4cb0c2a4456f2b
             transformers-0.5.5.0=4f41484af13f560f1d83ed79e1be4572
             transformers-compat-0.6.2-EZ0ZvADLUlc4V8RuKaJX5W=8fe746d31ebcf312c14c2777ca0f137c
             unordered-containers-0.2.9.0-KPgljVKoY3VBKTw1tFbcre=264f905ec4c04eb05b5ff3d7321fae90
             vector-0.12.0.1-1fezwShzdEfG3Hp1Pmvjkq=8ec9732a4c43da9ed60d7a7b8971b540
             void-0.7.2-JAsenjnj1DBHDal2sW0JoW=d1de746fbfbe471314dbcb65b5e13ec4
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' "$@"

