semigroupoids-5.2.2: Semigroupoids: Category sans id

Copyright(C) 2007-2015 Edward Kmett
LicenseBSD-style (see the file LICENSE)
MaintainerEdward Kmett <ekmett@gmail.com>
Stabilityprovisional
Portabilityportable
Safe HaskellNone
LanguageHaskell98

Data.Semigroupoid

Description

A semigroupoid satisfies all of the requirements to be a Category except for the existence of identity arrows.

Synopsis

Documentation

class Semigroupoid c where Source #

Minimal complete definition

o

Methods

o :: c j k -> c i j -> c i k Source #

Instances

Semigroupoid k ((:~:) k) Source # 

Methods

o :: c j k -> c i j -> c i k Source #

Semigroupoid k (Coercion k) Source # 

Methods

o :: c j k -> c i j -> c i k Source #

Semigroupoid k ((:~~:) k k) Source # 

Methods

o :: c j k -> c i j -> c i k Source #

Semigroupoid k1 k2 => Semigroupoid k1 (Iso k1 k2) Source # 

Methods

o :: c j k -> c i j -> c i k Source #

Category k1 k2 => Semigroupoid k1 (WrappedCategory k1 k1 k2) Source # 

Methods

o :: c j k -> c i j -> c i k Source #

Semigroup m => Semigroupoid k (Semi k k m) Source # 

Methods

o :: c j k -> c i j -> c i k Source #

Semigroupoid k1 k2 => Semigroupoid k1 (Dual k1 k1 k2) Source # 

Methods

o :: c j k -> c i j -> c i k Source #

Semigroupoid * (,) Source #

http://en.wikipedia.org/wiki/Band_(mathematics)#Rectangular_bands

Methods

o :: c j k -> c i j -> c i k Source #

Semigroupoid * Op Source # 

Methods

o :: c j k -> c i j -> c i k Source #

Bind m => Semigroupoid * (Kleisli m) Source # 

Methods

o :: c j k -> c i j -> c i k Source #

Semigroupoid * (Const *) Source # 

Methods

o :: c j k -> c i j -> c i k Source #

Extend w => Semigroupoid * (Cokleisli w) Source # 

Methods

o :: c j k -> c i j -> c i k Source #

Semigroupoid * (Tagged *) Source # 

Methods

o :: c j k -> c i j -> c i k Source #

Apply f => Semigroupoid * (Static f) Source # 

Methods

o :: c j k -> c i j -> c i k Source #

Semigroupoid * ((->) LiftedRep LiftedRep) Source # 

Methods

o :: c j k -> c i j -> c i k Source #

newtype WrappedCategory k a b Source #

Constructors

WrapCategory 

Fields

Instances

Category k1 k2 => Category k1 (WrappedCategory k1 k1 k2) Source # 

Methods

id :: cat a a #

(.) :: cat b c -> cat a b -> cat a c #

Category k1 k2 => Semigroupoid k1 (WrappedCategory k1 k1 k2) Source # 

Methods

o :: c j k -> c i j -> c i k Source #

newtype Semi m a b Source #

Constructors

Semi 

Fields

Instances

Monoid m => Category k (Semi k k m) Source # 

Methods

id :: cat a a #

(.) :: cat b c -> cat a b -> cat a c #

Semigroup m => Semigroupoid k (Semi k k m) Source # 

Methods

o :: c j k -> c i j -> c i k Source #