| Copyright | (C) 2007-2015 Edward Kmett |
|---|---|
| License | BSD-style (see the file LICENSE) |
| Maintainer | Edward Kmett <ekmett@gmail.com> |
| Stability | provisional |
| Portability | portable |
| Safe Haskell | None |
| Language | Haskell98 |
Data.Semigroupoid
Description
A semigroupoid satisfies all of the requirements to be a Category except for the existence of identity arrows.
- class Semigroupoid c where
- newtype WrappedCategory k a b = WrapCategory {
- unwrapCategory :: k a b
- newtype Semi m a b = Semi {
- getSemi :: m
Documentation
class Semigroupoid c where Source #
Minimal complete definition
Instances
| Semigroupoid k ((:~:) k) Source # | |
| Semigroupoid k (Coercion k) Source # | |
| Semigroupoid k ((:~~:) k k) Source # | |
| Semigroupoid k1 k2 => Semigroupoid k1 (Iso k1 k2) Source # | |
| Category k1 k2 => Semigroupoid k1 (WrappedCategory k1 k1 k2) Source # | |
| Semigroup m => Semigroupoid k (Semi k k m) Source # | |
| Semigroupoid k1 k2 => Semigroupoid k1 (Dual k1 k1 k2) Source # | |
| Semigroupoid * (,) Source # | http://en.wikipedia.org/wiki/Band_(mathematics)#Rectangular_bands |
| Semigroupoid * Op Source # | |
| Bind m => Semigroupoid * (Kleisli m) Source # | |
| Semigroupoid * (Const *) Source # | |
| Extend w => Semigroupoid * (Cokleisli w) Source # | |
| Semigroupoid * (Tagged *) Source # | |
| Apply f => Semigroupoid * (Static f) Source # | |
| Semigroupoid * ((->) LiftedRep LiftedRep) Source # | |
newtype WrappedCategory k a b Source #
Constructors
| WrapCategory | |
Fields
| |
Instances
| Category k1 k2 => Category k1 (WrappedCategory k1 k1 k2) Source # | |
| Category k1 k2 => Semigroupoid k1 (WrappedCategory k1 k1 k2) Source # | |