/var/lib/ghc/package.conf.d/semigroupoids-4.2.conf is in libghc-semigroupoids-dev 4.2-1+b2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | name: semigroupoids
version: 4.2
id: semigroupoids-4.2-8d6d86a1437695e1bbe2ef5d2e8cff4f
license: BSD3
copyright: Copyright (C) 2011-2013 Edward A. Kmett
maintainer: Edward A. Kmett <ekmett@gmail.com>
stability: provisional
homepage: http://github.com/ekmett/semigroupoids
package-url:
synopsis: Semigroupoids: Category sans id
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:
.
> Foldable ----> Traversable <--- Functor ------> Alt ---------> Plus Semigroupoid
> | | | | |
> v v v v v
> Foldable1 ---> Traversable1 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.
category: Control, Comonads
author: Edward A. Kmett
exposed: True
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
hidden-modules:
trusted: False
import-dirs: /usr/lib/haskell-packages/ghc/lib/semigroupoids-4.2/ghc-7.6.3
library-dirs: /usr/lib/haskell-packages/ghc/lib/semigroupoids-4.2/ghc-7.6.3
hs-libraries: HSsemigroupoids-4.2
extra-libraries:
extra-ghci-libraries:
include-dirs:
includes:
depends: base-4.6.0.1-8aa5d403c45ea59dcd2c39f123e27d57
comonad-4.2-4a02317d18bbfeb3af182f52901c36ba
containers-0.5.0.0-ab1dae9a94cd3cc84e7b2805636ebfa2
contravariant-0.6.1.1-dc0307441fd819ad7a9c61ca4025e014
distributive-0.4.4-38a4109eb44677a35895368590924e05
semigroups-0.15.3-f01224638d8ef67a79d1815551975c8a
transformers-0.3.0.0-ff2bb6ac67241ebb987351a3db564af0
hugs-options:
cc-options:
ld-options:
framework-dirs:
frameworks:
haddock-interfaces: /usr/lib/ghc-doc/haddock/semigroupoids-4.2/semigroupoids.haddock
haddock-html: /usr/share/doc/libghc-semigroupoids-doc/html/
|