| 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 :: k -> k -> Type) where
- o :: forall (j :: k) (k1 :: k) (i :: k). c j k1 -> c i j -> c i k1
- newtype WrappedCategory (k2 :: k -> k1 -> Type) (a :: k) (b :: k1) = WrapCategory {
- unwrapCategory :: k2 a b
- newtype Semi m (a :: k) (b :: k1) = Semi {
- getSemi :: m
Documentation
class Semigroupoid (c :: k -> k -> Type) where #
Instances
newtype WrappedCategory (k2 :: k -> k1 -> Type) (a :: k) (b :: k1) #
Constructors
| WrapCategory | |
Fields
| |
Instances
| Category k2 => Category (WrappedCategory k2 :: k1 -> k1 -> Type) # | |
Defined in Data.Semigroupoid Methods id :: forall (a :: k1). WrappedCategory k2 a a # (.) :: forall (b :: k1) (c :: k1) (a :: k1). WrappedCategory k2 b c -> WrappedCategory k2 a b -> WrappedCategory k2 a c # | |
| Category k2 => Semigroupoid (WrappedCategory k2 :: k1 -> k1 -> Type) # | |
Defined in Data.Semigroupoid Methods o :: forall (j :: k1) (k10 :: k1) (i :: k1). WrappedCategory k2 j k10 -> WrappedCategory k2 i j -> WrappedCategory k2 i k10 # | |