packages feed

Cabal revisions of semigroupoids-3.0.0.2

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

revision 1
-name:          semigroupoids-category:      Control, Comonads-version:       3.0.0.2-license:       BSD3-cabal-version: >= 1.6-license-file:  LICENSE-author:        Edward A. Kmett-maintainer:    Edward A. Kmett <ekmett@gmail.com>-stability:     provisional-homepage:      http://github.com/ekmett/semigroupoids-bug-reports:   http://github.com/ekmett/semigroupoids/issues-copyright:     Copyright (C) 2011 Edward A. Kmett-build-type:    Simple-synopsis:      Haskell 98 semigroupoids: Category sans id-extra-source-files: .travis.yml-description:-  Provides a wide array of semigroupoids and operations for working with semigroupds.-  .-  A Semigroupoid is a Category without the requirement of identity arrows for every object in the category.-  .-  When working with comonads you often have the @\<*\>@ portion of an @Applicative@, but-  not the @pure@. This was captured in Uustalu and Vene's \"Essence of Dataflow Programming\"-  in the form of the @ComonadZip@ class in the days before @Applicative@. Apply provides a weaker invariant, but for the comonads used for data flow programming (found in the streams package), this invariant is preserved. Applicative function composition forms a semigroupoid.-  .-  Similarly many structures are nearly a comonad, but not quite, for instance lists provide a reasonable 'extend' operation in the form of 'tails', but do not always contain a value.-  .-  .-  Ideally the following relationships would hold:-  .-  > Traversable <---- Foldable <--- Functor ------> Alt ---------> Plus           Semigroupoid-  >      |               |            |                              |                  |-  >      v               v            v                              v                  v-  > Traversable1 <--- Foldable1     Apply --------> Applicative -> Alternative      Category-  >                                   |               |              |                  |-  >                                   v               v              v                  v-  >                                 Bind ---------> Monad -------> MonadPlus          Arrow-  >-  .-  Apply, Bind, and Extend (not shown) give rise the Static, Kleisli and Cokleisli semigroupoids respectively.-  .-  This lets us remove many of the restrictions from various monad transformers-  as in many cases the binding operation or @\<*\>@ operation does not require them.-  .-  Finally, to work with these weaker structures it is beneficial to have containers-  that can provide stronger guarantees about their contents, so versions of 'Traversable'-  and 'Foldable' that can be folded with just a 'Semigroup' are added.--source-repository head-  type: git-  location: git://github.com/ekmett/semigroupoids.git--library-  build-depends:-    base          >= 4       && < 5,-    transformers  >= 0.2     && < 0.4,-    containers    >= 0.3     && < 0.6,-    contravariant >= 0.2.0.1 && < 0.3,-    comonad       >= 3.0,-    semigroups    >= 0.8.3.1--  exposed-modules:-    Data.Functor.Alt-    Data.Functor.Apply-    Data.Functor.Bind-    Data.Functor.Bind.Trans-    Data.Functor.Plus-    Data.Functor.Extend-    Data.Semigroup.Foldable-    Data.Semigroup.Traversable-    Data.Semigroupoid-    Data.Semigroupoid.Dual-    Data.Semigroupoid.Static-    Data.Traversable.Instances--  ghc-options: -Wall+name:          semigroupoids
+category:      Control, Comonads
+version:       3.0.0.2
+x-revision: 1
+license:       BSD3
+cabal-version: >= 1.6
+license-file:  LICENSE
+author:        Edward A. Kmett
+maintainer:    Edward A. Kmett <ekmett@gmail.com>
+stability:     provisional
+homepage:      http://github.com/ekmett/semigroupoids
+bug-reports:   http://github.com/ekmett/semigroupoids/issues
+copyright:     Copyright (C) 2011 Edward A. Kmett
+build-type:    Simple
+synopsis:      Haskell 98 semigroupoids: Category sans id
+extra-source-files: .travis.yml
+description:
+  Provides a wide array of semigroupoids and operations for working with semigroupds.
+  .
+  A Semigroupoid is a Category without the requirement of identity arrows for every object in the category.
+  .
+  When working with comonads you often have the @\<*\>@ portion of an @Applicative@, but
+  not the @pure@. This was captured in Uustalu and Vene's \"Essence of Dataflow Programming\"
+  in the form of the @ComonadZip@ class in the days before @Applicative@. Apply provides a weaker invariant, but for the comonads used for data flow programming (found in the streams package), this invariant is preserved. Applicative function composition forms a semigroupoid.
+  .
+  Similarly many structures are nearly a comonad, but not quite, for instance lists provide a reasonable 'extend' operation in the form of 'tails', but do not always contain a value.
+  .
+  .
+  Ideally the following relationships would hold:
+  .
+  > Traversable <---- Foldable <--- Functor ------> Alt ---------> Plus           Semigroupoid
+  >      |               |            |                              |                  |
+  >      v               v            v                              v                  v
+  > Traversable1 <--- Foldable1     Apply --------> Applicative -> Alternative      Category
+  >                                   |               |              |                  |
+  >                                   v               v              v                  v
+  >                                 Bind ---------> Monad -------> MonadPlus          Arrow
+  >
+  .
+  Apply, Bind, and Extend (not shown) give rise the Static, Kleisli and Cokleisli semigroupoids respectively.
+  .
+  This lets us remove many of the restrictions from various monad transformers
+  as in many cases the binding operation or @\<*\>@ operation does not require them.
+  .
+  Finally, to work with these weaker structures it is beneficial to have containers
+  that can provide stronger guarantees about their contents, so versions of 'Traversable'
+  and 'Foldable' that can be folded with just a 'Semigroup' are added.
+
+source-repository head
+  type: git
+  location: git://github.com/ekmett/semigroupoids.git
+
+library
+  build-depends:
+    base          >= 4       && < 4.18,
+    transformers  >= 0.2     && < 0.4,
+    containers    >= 0.3     && < 0.6,
+    contravariant >= 0.2.0.1 && < 0.3,
+    comonad       >= 3.0,
+    semigroups    >= 0.8.3.1
+
+  exposed-modules:
+    Data.Functor.Alt
+    Data.Functor.Apply
+    Data.Functor.Bind
+    Data.Functor.Bind.Trans
+    Data.Functor.Plus
+    Data.Functor.Extend
+    Data.Semigroup.Foldable
+    Data.Semigroup.Traversable
+    Data.Semigroupoid
+    Data.Semigroupoid.Dual
+    Data.Semigroupoid.Static
+    Data.Traversable.Instances
+
+  ghc-options: -Wall