1name:                microlens
2version:             0.4.12.0
3synopsis:            A tiny lens library with no dependencies
4description:
5  NOTE: If you're writing an app, you probably want <http://hackage.haskell.org/package/microlens-platform microlens-platform> – it has the most features. <http://hackage.haskell.org/package/microlens microlens> is intended more for library writers who want a tiny lens library (after all, lenses are pretty useful for everything, not just for updating records!).
6  .
7  This library is an extract from <http://hackage.haskell.org/package/lens lens> (with no dependencies). It's not a toy lenses library, unsuitable for “real world”, but merely a small one. It is compatible with lens, and should have same performance. It also has better documentation.
8  .
9  There's a longer readme <https://github.com/monadfix/microlens#readme on Github>. It has a migration guide for lens users, a description of other packages in the family, a discussion of other lens libraries you could use instead, and so on.
10  .
11  Here are some usecases for this library:
12  .
13    * You want to define lenses or traversals in your own library, but don't want to depend on lens. Having lenses available often make working with a library more pleasant.
14  .
15    * You just want to be able to use lenses to transform data (or even just use @over _1@ to change the first element of a tuple).
16  .
17    * You are new to lenses and want a small library to play with.
18  .
19  However, don't use this library if:
20  .
21    * You need @Iso@s, @Prism@s, indexed traversals, or actually anything else which isn't defined here (though some indexed functions are available elsewhere – containers and vector provide them for their types, and <http://hackage.haskell.org/package/ilist ilist> provides indexed functions for lists).
22  .
23    * You want a library with a clean, understandable implementation (in which case you're looking for <http://hackage.haskell.org/package/lens-simple lens-simple>).
24  .
25  As already mentioned, if you're writing an application which uses lenses more extensively, look at <http://hackage.haskell.org/package/microlens-platform microlens-platform> – it combines features of most other microlens packages (<http://hackage.haskell.org/package/microlens-mtl microlens-mtl>, <http://hackage.haskell.org/package/microlens-th microlens-th>, <http://hackage.haskell.org/package/microlens-ghc microlens-ghc>).
26  .
27  If you want to export getters or folds and don't mind the <http://hackage.haskell.org/package/contravariant contravariant> dependency, please consider using <http://hackage.haskell.org/package/microlens-contra microlens-contra>.
28  .
29  If you haven't ever used lenses before, read <http://hackage.haskell.org/package/lens-tutorial/docs/Control-Lens-Tutorial.html this tutorial>. (It's for lens, but it applies to microlens just as well.)
30  .
31  Note that microlens has no dependencies starting from GHC 7.10 (base-4.8). Prior to that, it depends on transformers-0.2 or above.
32license:             BSD3
33license-file:        LICENSE
34author:              Edward Kmett, Artyom Kazak
35maintainer:          Monadfix <hi@monadfix.com>
36homepage:            http://github.com/monadfix/microlens
37bug-reports:         http://github.com/monadfix/microlens/issues
38-- copyright:
39category:            Data, Lenses
40build-type:          Simple
41extra-source-files:
42  CHANGELOG.md
43cabal-version:       >=1.10
44tested-with:         GHC==7.4.2
45                     GHC==7.6.3
46                     GHC==7.8.4
47                     GHC==7.10.3
48                     GHC==8.0.2
49                     GHC==8.2.2
50                     GHC==8.4.4
51                     GHC==8.6.5
52                     GHC==8.8.1
53                     GHC==8.10.1
54
55source-repository head
56  type:                git
57  location:            git://github.com/monadfix/microlens.git
58
59library
60  exposed-modules:     Lens.Micro
61                       Lens.Micro.Extras
62                       Lens.Micro.Internal
63                       Lens.Micro.Type
64  -- other-modules:
65  -- other-extensions:
66
67  -- Since base-4.8 we get the Identity functor in base, so we can avoid a
68  -- transformers dependency.
69  if impl(ghc>=7.9)
70    build-depends:     base >=4.8 && <5
71  if !impl(ghc>=7.9)
72    build-depends:     base >=4.5 && <5
73                     , transformers >=0.2
74
75  ghc-options:
76    -Wall -fwarn-tabs
77    -O2 -fdicts-cheap -funbox-strict-fields
78    -fmax-simplifier-iterations=10
79
80  hs-source-dirs:      src
81  default-language:    Haskell2010
82