#!/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.16.1
id: lens-4.16.1-BSXfXNu8l0V7ncWFGkc4En
key: lens-4.16.1-BSXfXNu8l0V7ncWFGkc4En
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: ccf69769d5e1451c2d37e1cc1d9a6080
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.16.1
library-dirs: /usr/lib/ghc-8.4.3/site-local/lens-4.16.1
dynamic-library-dirs: /usr/lib
data-dir: /usr/share/arm-linux-ghc-8.4.3/lens-4.16.1
hs-libraries: HSlens-4.16.1-BSXfXNu8l0V7ncWFGkc4En
depends:
    array-0.5.2.0 base-4.11.1.0 base-orphans-0.7-G08naUt0fgj1VFNTGuj0tB
    bifunctors-5.5.2-Jna8E5zcjQnDvOpp6tzBmI bytestring-0.10.8.2
    call-stack-0.1.0-Eiz5FM8yQXpI3vyQ1Rt4Jq
    comonad-5.0.3-Hj4XwvxTeZ6JHBkV1qhHp
    contravariant-1.4.1-HAsNOXS6UjNLhhUqovtoIr containers-0.5.11.0
    distributive-0.5.3-KAisd65uG1s5wbvJVt2qec filepath-1.4.2
    free-5.0.2-8vzF9VGzLGAHZ9N0zU78TL ghc-prim-0.5.2.0
    hashable-1.2.7.0-KBRKfoLB8Vi3u8lTX7XQlg
    kan-extensions-5.1-8dFlonTxHxZKcUvBjjF8M0
    exceptions-0.10.0-391qhPSiPEU3NJgxhfdaPf mtl-2.2.2
    parallel-3.2.1.1-7VRdiJcVWj8BvjtM2xssyE
    profunctors-5.2.2-2UFy2S7DZ3moxUyYbk5YG
    reflection-2.1.3-4SrNpWQSBW2LTCJ2jLk3f1
    semigroupoids-5.2.2-1vjkStEZXvZLF4fgXcSMdL
    tagged-0.8.5-8zhZJ4AR6AIK89q9NUJ4H template-haskell-2.13.0.0
    th-abstraction-0.2.7.0-K3VY5rzhCFL2FVEMFfolof text-1.2.3.0
    transformers-0.5.5.0
    transformers-compat-0.6.2-EZ0ZvADLUlc4V8RuKaJX5W
    unordered-containers-0.2.9.0-IEc9LFcTDjK6w3ap4NqwQu
    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.7-G08naUt0fgj1VFNTGuj0tB=c63437825983089f129c24d811e13314
             bifunctors-5.5.2-Jna8E5zcjQnDvOpp6tzBmI=eea05a649f01af4d2963e0fed03bdaae
             bytestring-0.10.8.2=9faa89cf4769cbd12751f8644ca9e618
             call-stack-0.1.0-Eiz5FM8yQXpI3vyQ1Rt4Jq=c76ca250c7cf6b5c2ee744c15760c93f
             comonad-5.0.3-Hj4XwvxTeZ6JHBkV1qhHp=e646809ec5a49ef79a781d55d65437b8
             contravariant-1.4.1-HAsNOXS6UjNLhhUqovtoIr=c99faff75f3a482d24cfc7bf782693a7
             containers-0.5.11.0=94bb4831ae701bd40855b2dc2d65cf7c
             distributive-0.5.3-KAisd65uG1s5wbvJVt2qec=06f50b26f722a33ba8805bd6e22a4b5d
             filepath-1.4.2=2408ba322304c0a06810db2d7363214a
             free-5.0.2-8vzF9VGzLGAHZ9N0zU78TL=4871f9751e45b05a6631f8fba135bae8
             ghc-prim-0.5.2.0=387aa7e78e4e6c49e51798e4d6763c3f
             hashable-1.2.7.0-KBRKfoLB8Vi3u8lTX7XQlg=0f14342a1ffe8710d31657335cf81134
             kan-extensions-5.1-8dFlonTxHxZKcUvBjjF8M0=63d655942d432b665840af633ea2e304
             exceptions-0.10.0-391qhPSiPEU3NJgxhfdaPf=7910067871295cb7f4f6699a852863a6
             mtl-2.2.2=0b3b35c3b96c7607606ed10087c4aa4a
             parallel-3.2.1.1-7VRdiJcVWj8BvjtM2xssyE=71fbc58d940f1d79d8c382c7209c2ee9
             profunctors-5.2.2-2UFy2S7DZ3moxUyYbk5YG=10f0ab42bd80f6c9738cfb98eb0c724d
             reflection-2.1.3-4SrNpWQSBW2LTCJ2jLk3f1=f59bc1689e7c79247309d2cae266fd7b
             semigroupoids-5.2.2-1vjkStEZXvZLF4fgXcSMdL=0ce2c1b884ad2e962367ac2e23143ee7
             tagged-0.8.5-8zhZJ4AR6AIK89q9NUJ4H=a77bb2a04ac30650821b1fe6972fa094
             template-haskell-2.13.0.0=ac7dfd04924d4ebfa90a119ad22a36cc
             th-abstraction-0.2.7.0-K3VY5rzhCFL2FVEMFfolof=e161720940186da8d7d7f15cc4c214a9
             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-IEc9LFcTDjK6w3ap4NqwQu=5b052eced98346d45f3db03378f2841d
             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' "$@"

