packages feed

Cabal revisions of lens-2.4

Hackage metadata revisions edit the .cabal file after upload; each diff below is one revision.

revision 1
-name:          lens-category:      Data, Lenses-version:       2.4-license:       BSD3-cabal-version: >= 1.8-license-file:  LICENSE-author:        Edward A. Kmett-maintainer:    Edward A. Kmett <ekmett@gmail.com>-stability:     provisional-homepage:      http://github.com/ekmett/lens/-bug-reports:   http://github.com/ekmett/lens/issues-copyright:     Copyright (C) 2012 Edward A. Kmett-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.-  .-  More information on the care and feeding of lenses, including a tutorial and motivation-  for their types can be found on the lens wiki.-  .-  <https://github.com/ekmett/lens/wiki>-  .-  A small game that manages its state using lenses can be found in the example folder.-  .-  <https://github.com/ekmett/lens/blob/master/examples/Pong.hs>-  .-  /Lenses, Folds and Traversals/-  .-  The core of this hierarchy looks like:-  .-  <<https://github.com/ekmett/lens/wiki/images/Hierarchy-2.4.png>>-  .-  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 links 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 :: Simple 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)-  .-  > -- baz :: 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 :: Simple 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).--build-type:    Simple-tested-with:   GHC == 7.4.1-extra-source-files:-  .travis.yml-  .ghci-  .gitignore-  .vim.custom-  config-  examples/LICENSE-  examples/lens-examples.cabal-  examples/pong.hs-  README.markdown-  CHANGELOG.markdown--source-repository head-  type: git-  location: git://github.com/ekmett/lens.git--library-  build-depends:-    base             >= 4.3   && < 5,-    containers       >= 0.4.2 && < 0.6,-    mtl              >= 2.1.1 && < 2.2,-    template-haskell >= 2.4   && < 2.9,-    transformers     >= 0.3   && < 0.4--  exposed-modules: Control.Exception.Lens-                   Control.Lens-                   Control.Lens.Action-                   Control.Lens.Fold-                   Control.Lens.Getter-                   Control.Lens.Indexed-                   Control.Lens.IndexedGetter-                   Control.Lens.IndexedFold-                   Control.Lens.IndexedLens-                   Control.Lens.IndexedSetter-                   Control.Lens.IndexedTraversal-                   Control.Lens.Internal-                   Control.Lens.Iso-                   Control.Lens.Isomorphic-                   Control.Lens.Representable-                   Control.Lens.Setter-                   Control.Lens.TH-                   Control.Lens.Traversal-                   Control.Lens.Tuple-                   Control.Lens.Type-                   Control.Lens.Zoom-                   Data.Bits.Lens-                   Data.Complex.Lens-                   Data.Dynamic.Lens-                   Data.Either.Lens-                   Data.List.Lens-                   Data.Pair.Lens-                   Data.IntMap.Lens-                   Data.IntSet.Lens-                   Data.Map.Lens-                   Data.Monoid.Lens-                   Data.Sequence.Lens-                   Data.Set.Lens-                   Data.Tree.Lens-                   Language.Haskell.TH.Lens--  -- platform-  build-depends:   array >= 0.3.0.2 && < 0.5-  exposed-modules: Data.Array.Lens--  build-depends:   filepath >= 1.2.0.0 && < 1.4-  exposed-modules: System.FilePath.Lens--  build-depends:   bytestring >= 0.9.1.10 && < 0.11-  exposed-modules: Data.ByteString.Lens Data.ByteString.Lazy.Lens--  build-depends:   text >= 0.11.1.5 && < 0.12-  exposed-modules: Data.Text.Lens Data.Text.Lazy.Lens--  build-depends:   parallel >= 3.1.0.1 && < 3.3-  exposed-modules: Control.Parallel.Strategies.Lens Control.Seq.Lens--  other-extensions:-    BangPatterns-    CPP-    DeriveDataTypeable-    FlexibleContexts-    FlexibleInstances-    FunctionalDependencies-    LiberalTypeSynonyms-    MultiParamTypeClasses-    Rank2Types-    RankNTypes-    TemplateHaskell-    TypeFamilies-    TypeOperators-    UndecidableInstances--  if (impl(ghc>=7.4))-    other-extensions: Trustworthy-    build-depends: ghc-prim-    exposed-modules: GHC.Generics.Lens--  ghc-options: -Wall -fwarn-tabs -O2 -fdicts-cheap -funbox-strict-fields-  hs-source-dirs: src---- Verify the results of the examples-test-suite doctests-  type:    exitcode-stdio-1.0-  main-is: doctests.hs-  build-depends:-    base == 4.*,-    directory >= 1.0 && < 1.2,-    doctest >= 0.8 && <= 0.9,-    filepath >= 1.3 && < 1.4-  ghc-options: -Wall -Werror -threaded-  hs-source-dirs: tests---- Verify that Template Haskell expansion works-test-suite templates-  type: exitcode-stdio-1.0-  main-is: templates.hs-  build-depends:-    base == 4.*,-    lens-  ghc-options: -Wall -Werror -threaded-  hs-source-dirs: tests---- Verify the properties of lenses with QuickCheck-test-suite properties-  type: exitcode-stdio-1.0-  main-is: properties.hs-  build-depends:-    base         == 4.*,-    lens,-    QuickCheck   >= 2.4 && < 2.6,-    transformers >= 0.3 && < 0.5-  ghc-options: -w -threaded-  hs-source-dirs: tests+name:          lens
+category:      Data, Lenses
+version:       2.4
+x-revision: 1
+license:       BSD3
+cabal-version: >= 1.8
+license-file:  LICENSE
+author:        Edward A. Kmett
+maintainer:    Edward A. Kmett <ekmett@gmail.com>
+stability:     provisional
+homepage:      http://github.com/ekmett/lens/
+bug-reports:   http://github.com/ekmett/lens/issues
+copyright:     Copyright (C) 2012 Edward A. Kmett
+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.
+  .
+  More information on the care and feeding of lenses, including a tutorial and motivation
+  for their types can be found on the lens wiki.
+  .
+  <https://github.com/ekmett/lens/wiki>
+  .
+  A small game that manages its state using lenses can be found in the example folder.
+  .
+  <https://github.com/ekmett/lens/blob/master/examples/Pong.hs>
+  .
+  /Lenses, Folds and Traversals/
+  .
+  The core of this hierarchy looks like:
+  .
+  <<https://github.com/ekmett/lens/wiki/images/Hierarchy-2.4.png>>
+  .
+  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 links 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 :: Simple 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)
+  .
+  > -- baz :: 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 :: Simple 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).
+
+build-type:    Simple
+tested-with:   GHC == 7.4.1
+extra-source-files:
+  .travis.yml
+  .ghci
+  .gitignore
+  .vim.custom
+  config
+  examples/LICENSE
+  examples/lens-examples.cabal
+  examples/pong.hs
+  README.markdown
+  CHANGELOG.markdown
+
+source-repository head
+  type: git
+  location: git://github.com/ekmett/lens.git
+
+library
+  build-depends:
+    base             >= 4.3   && < 4.6,
+    containers       >= 0.4.2 && < 0.6,
+    mtl              >= 2.1.1 && < 2.2,
+    template-haskell >= 2.4   && < 2.9,
+    transformers     >= 0.3   && < 0.4
+
+  exposed-modules: Control.Exception.Lens
+                   Control.Lens
+                   Control.Lens.Action
+                   Control.Lens.Fold
+                   Control.Lens.Getter
+                   Control.Lens.Indexed
+                   Control.Lens.IndexedGetter
+                   Control.Lens.IndexedFold
+                   Control.Lens.IndexedLens
+                   Control.Lens.IndexedSetter
+                   Control.Lens.IndexedTraversal
+                   Control.Lens.Internal
+                   Control.Lens.Iso
+                   Control.Lens.Isomorphic
+                   Control.Lens.Representable
+                   Control.Lens.Setter
+                   Control.Lens.TH
+                   Control.Lens.Traversal
+                   Control.Lens.Tuple
+                   Control.Lens.Type
+                   Control.Lens.Zoom
+                   Data.Bits.Lens
+                   Data.Complex.Lens
+                   Data.Dynamic.Lens
+                   Data.Either.Lens
+                   Data.List.Lens
+                   Data.Pair.Lens
+                   Data.IntMap.Lens
+                   Data.IntSet.Lens
+                   Data.Map.Lens
+                   Data.Monoid.Lens
+                   Data.Sequence.Lens
+                   Data.Set.Lens
+                   Data.Tree.Lens
+                   Language.Haskell.TH.Lens
+
+  -- platform
+  build-depends:   array >= 0.3.0.2 && < 0.5
+  exposed-modules: Data.Array.Lens
+
+  build-depends:   filepath >= 1.2.0.0 && < 1.4
+  exposed-modules: System.FilePath.Lens
+
+  build-depends:   bytestring >= 0.9.1.10 && < 0.11
+  exposed-modules: Data.ByteString.Lens Data.ByteString.Lazy.Lens
+
+  build-depends:   text >= 0.11.1.5 && < 0.12
+  exposed-modules: Data.Text.Lens Data.Text.Lazy.Lens
+
+  build-depends:   parallel >= 3.1.0.1 && < 3.3
+  exposed-modules: Control.Parallel.Strategies.Lens Control.Seq.Lens
+
+  other-extensions:
+    BangPatterns
+    CPP
+    DeriveDataTypeable
+    FlexibleContexts
+    FlexibleInstances
+    FunctionalDependencies
+    LiberalTypeSynonyms
+    MultiParamTypeClasses
+    Rank2Types
+    RankNTypes
+    TemplateHaskell
+    TypeFamilies
+    TypeOperators
+    UndecidableInstances
+
+  if (impl(ghc>=7.4))
+    other-extensions: Trustworthy
+    build-depends: ghc-prim
+    exposed-modules: GHC.Generics.Lens
+
+  ghc-options: -Wall -fwarn-tabs -O2 -fdicts-cheap -funbox-strict-fields
+  hs-source-dirs: src
+
+-- Verify the results of the examples
+test-suite doctests
+  type:    exitcode-stdio-1.0
+  main-is: doctests.hs
+  build-depends:
+    base == 4.*,
+    directory >= 1.0 && < 1.2,
+    doctest >= 0.8 && <= 0.9,
+    filepath >= 1.3 && < 1.4
+  ghc-options: -Wall -Werror -threaded
+  hs-source-dirs: tests
+
+-- Verify that Template Haskell expansion works
+test-suite templates
+  type: exitcode-stdio-1.0
+  main-is: templates.hs
+  build-depends:
+    base == 4.*,
+    lens
+  ghc-options: -Wall -Werror -threaded
+  hs-source-dirs: tests
+
+-- Verify the properties of lenses with QuickCheck
+test-suite properties
+  type: exitcode-stdio-1.0
+  main-is: properties.hs
+  build-depends:
+    base         == 4.*,
+    lens,
+    QuickCheck   >= 2.4 && < 2.6,
+    transformers >= 0.3 && < 0.5
+  ghc-options: -w -threaded
+  hs-source-dirs: tests