Control.Category (original) (raw)

Synopsis

Documentation

class Category cat where Source #

A class for categories. Instances should satisfy the laws

Right identity

f `[.](Control-Category.html#v:. "Control.Category")` `[id](Control-Category.html#v:id "Control.Category")` = f

Left identity

`[id](Control-Category.html#v:id "Control.Category")` `[.](Control-Category.html#v:. "Control.Category")` f = f

Associativity

f `[.](Control-Category.html#v:. "Control.Category")` (g `[.](Control-Category.html#v:. "Control.Category")` h) = (f `[.](Control-Category.html#v:. "Control.Category")` g) `[.](Control-Category.html#v:. "Control.Category")` h

Methods

id :: cat a a Source #

the identity morphism

(.) :: cat b c -> cat a b -> cat a c infixr 9 Source #

morphism composition

(<<<) :: Category cat => cat b c -> cat a b -> cat a c infixr 1 Source #

Right-to-left composition

(>>>) :: Category cat => cat a b -> cat b c -> cat a c infixr 1 Source #

Left-to-right composition