/var/lib/ghc/package.conf.d/semigroupoids-4.0.conf is in libghc-semigroupoids-dev 4.0-1build3.
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.0
id: semigroupoids-4.0-2f73b390ed2b359c194de4094319ba4e
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:
.
> 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.
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.0/ghc-7.6.3
library-dirs: /usr/lib/haskell-packages/ghc/lib/semigroupoids-4.0/ghc-7.6.3
hs-libraries: HSsemigroupoids-4.0
extra-libraries:
extra-ghci-libraries:
include-dirs:
includes:
depends: base-4.6.0.1-8aa5d403c45ea59dcd2c39f123e27d57
comonad-4.0-1df0ce7fc9946a997e390d7efe2f8c5d
containers-0.5.0.0-ab1dae9a94cd3cc84e7b2805636ebfa2
contravariant-0.4.4-0f529cf89c5b4106ca6f0ff9d44b661d
distributive-0.3-9a9b53d31442b0f19f1b2e42e578db7b
semigroups-0.9-73a419ce05af9d7589969e187fb66622
transformers-0.3.0.0-ff2bb6ac67241ebb987351a3db564af0
hugs-options:
cc-options:
ld-options:
framework-dirs:
frameworks:
haddock-interfaces: /usr/lib/ghc-doc/haddock/semigroupoids-4.0/semigroupoids.haddock
haddock-html: /usr/share/doc/libghc-semigroupoids-doc/html/
|