categories-0.58.0.3: categories from category-extras

Portabilitynon-portable (either class-associated types or MPTCs with fundeps)
Stabilityexperimental
MaintainerEdward Kmett <ekmett@gmail.com>

Control.Categorical.Object

Description

This module declares the HasTerminalObject and HasInitialObject classes.

These are both special cases of the idea of a (co)limit.

Synopsis

Documentation

class Category ~> => HasTerminalObject (~>) whereSource

The Category (~>) has a terminal object Terminal (~>) such that for all objects a in (~>), there exists a unique morphism from a to Terminal (~>).

Associated Types

type Terminal (~>) :: *Source

Methods

terminate :: a ~> Terminal ~>Source

class Category ~> => HasInitialObject (~>) whereSource

The Category (~>) has an initial (coterminal) object Initial (~>) such that for all objects a in (~>), there exists a unique morphism from Initial (~>) to a.

Associated Types

type Initial (~>) :: *Source

Methods

initiate :: Initial ~> ~> aSource