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 |
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 #
Instances
newtype WrappedCategory k a b Source #
WrapCategory | |
|
Instances
Category k2 => Category ( WrappedCategory k2 :: k1 -> k1 -> Type ) Source # | |
Defined in Data.Semigroupoid id :: forall (a :: k). WrappedCategory k2 a a Source # (.) :: forall (b :: k) (c :: k) (a :: k). WrappedCategory k2 b c -> WrappedCategory k2 a b -> WrappedCategory k2 a c Source # |
|
Category k2 => Semigroupoid ( WrappedCategory k2 :: k1 -> k1 -> Type ) Source # | |
Defined in Data.Semigroupoid o :: forall (j :: k) (k :: k) (i :: k). WrappedCategory k2 j k -> WrappedCategory k2 i j -> WrappedCategory k2 i k Source # |