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 | Trustworthy |
Language | Haskell2010 |
Data.Semigroupoid
Description
A semigroupoid satisfies all of the requirements to be a Category except for the existence of identity arrows.
Synopsis
- class Semigroupoid c where
- o :: c j k -> c i j -> c i k
- newtype WrappedCategory k a b = WrapCategory {
- unwrapCategory :: k a b
- newtype Semi m a b = Semi {
- getSemi :: m
Documentation
class Semigroupoid c where Source #
Category
sans id
Instances
Semigroupoid Op Source # | |
Defined in Data.Semigroupoid | |
Semigroupoid (,) Source # | http://en.wikipedia.org/wiki/Band_(mathematics)#Rectangular_bands |
Defined in Data.Semigroupoid | |
Bind m => Semigroupoid (Kleisli m :: Type -> Type -> Type) Source # | |
Defined in Data.Semigroupoid | |
Semigroupoid (Const :: Type -> Type -> Type) Source # | |
Defined in Data.Semigroupoid | |
Semigroupoid s => Semigroupoid (Categorical s :: Type -> Type -> Type) Source # | Since: 5.3.6 |
Defined in Data.Semigroupoid.Categorical Methods o :: forall (j :: k) (k1 :: k) (i :: k). Categorical s j k1 -> Categorical s i j -> Categorical s i k1 Source # | |
Apply f => Semigroupoid (Static f :: Type -> Type -> Type) Source # | |
Semigroupoid (Tagged :: Type -> Type -> Type) Source # | |
Defined in Data.Semigroupoid | |
Semigroupoid (Coercion :: k -> k -> Type) Source # | |
Defined in Data.Semigroupoid | |
Semigroupoid ((:~:) :: k -> k -> Type) Source # | |
Defined in Data.Semigroupoid | |
Extend w => Semigroupoid (Cokleisli w :: Type -> Type -> Type) Source # | |
Defined in Data.Semigroupoid | |
Semigroupoid (->) Source # | |
Defined in Data.Semigroupoid | |
Semigroupoid ((:~~:) :: k -> k -> Type) Source # | |
Defined in Data.Semigroupoid | |
Semigroupoid k2 => Semigroupoid (Iso k2 :: k1 -> k1 -> Type) Source # | |
Semigroup m => Semigroupoid (Semi m :: k -> k -> Type) Source # | |
Category k2 => Semigroupoid (WrappedCategory k2 :: k1 -> k1 -> Type) Source # | |
Defined in Data.Semigroupoid Methods o :: forall (j :: k) (k10 :: k) (i :: k). WrappedCategory k2 j k10 -> WrappedCategory k2 i j -> WrappedCategory k2 i k10 Source # | |
Semigroupoid k2 => Semigroupoid (Dual k2 :: k1 -> k1 -> Type) Source # | |
newtype WrappedCategory k a b Source #
Constructors
WrapCategory | |
Fields
|
Instances
Category k2 => Category (WrappedCategory k2 :: k1 -> k1 -> Type) Source # | |
Defined in Data.Semigroupoid Methods id :: forall (a :: k). WrappedCategory k2 a a (.) :: forall (b :: k) (c :: k) (a :: k). WrappedCategory k2 b c -> WrappedCategory k2 a b -> WrappedCategory k2 a c | |
Category k2 => Semigroupoid (WrappedCategory k2 :: k1 -> k1 -> Type) Source # | |
Defined in Data.Semigroupoid Methods o :: forall (j :: k) (k10 :: k) (i :: k). WrappedCategory k2 j k10 -> WrappedCategory k2 i j -> WrappedCategory k2 i k10 Source # |