Cabal revisions of semigroupoids-4.0.1
Hackage metadata revisions edit the .cabal file after upload; each diff below is one revision.
revision 1
-name: semigroupoids-category: Control, Comonads-version: 4.0.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-2013 Edward A. Kmett-build-type: Simple-synopsis: Semigroupoids: Category sans id-extra-source-files:- .ghci- .travis.yml- .gitignore- .vim.custom-description:- Provides a wide array of (semi)groupoids and operations for working with them.- .- A 'Semigroupoid' is a 'Category' without the requirement of identity arrows for every object in the category.- .- A 'Category' is any 'Semigroupoid' for which the Yoneda lemma holds.- .- 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,- containers >= 0.3 && < 0.6,- contravariant >= 0.2.0.1 && < 1,- comonad >= 4 && < 5,- distributive >= 0.2.2 && < 1,- semigroups >= 0.8.3.1 && < 1,- transformers >= 0.2 && < 0.4-- hs-source-dirs: src-- exposed-modules:- Data.Functor.Alt- Data.Functor.Apply- Data.Functor.Bind- Data.Functor.Bind.Trans- Data.Functor.Extend- Data.Functor.Plus- Data.Groupoid- Data.Isomorphism- Data.Semifunctor- Data.Semifunctor.Associative- Data.Semifunctor.Braided- Data.Semigroup.Foldable- Data.Semigroup.Traversable- Data.Semigroupoid- Data.Semigroupoid.Coproduct- Data.Semigroupoid.Dual- Data.Semigroupoid.Ob- Data.Semigroupoid.Product- Data.Semigroupoid.Static- Data.Traversable.Instances-- ghc-options: -Wall+name: semigroupoids +category: Control, Comonads +version: 4.0.1 +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-2013 Edward A. Kmett +build-type: Simple +synopsis: Semigroupoids: Category sans id +extra-source-files: + .ghci + .travis.yml + .gitignore + .vim.custom +description: + Provides a wide array of (semi)groupoids and operations for working with them. + . + A 'Semigroupoid' is a 'Category' without the requirement of identity arrows for every object in the category. + . + A 'Category' is any 'Semigroupoid' for which the Yoneda lemma holds. + . + 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 + -- base-4.4 has trust issues + build-depends: base < 4.4 || >= 4.5 + + build-depends: + base >= 4 && < 5, + containers >= 0.3 && < 0.6, + contravariant >= 0.2.0.1 && < 1, + comonad >= 4 && < 5, + distributive >= 0.2.2 && < 1, + semigroups >= 0.8.3.1 && < 1, + transformers >= 0.2 && < 0.4 + + hs-source-dirs: src + + exposed-modules: + Data.Functor.Alt + Data.Functor.Apply + Data.Functor.Bind + Data.Functor.Bind.Trans + Data.Functor.Extend + Data.Functor.Plus + Data.Groupoid + Data.Isomorphism + Data.Semifunctor + Data.Semifunctor.Associative + Data.Semifunctor.Braided + Data.Semigroup.Foldable + Data.Semigroup.Traversable + Data.Semigroupoid + Data.Semigroupoid.Coproduct + Data.Semigroupoid.Dual + Data.Semigroupoid.Ob + Data.Semigroupoid.Product + Data.Semigroupoid.Static + Data.Traversable.Instances + + ghc-options: -Wall