Portability | non-portable (either class-associated types or MPTCs with fundeps) |
---|---|
Stability | experimental |
Maintainer | Edward Kmett <ekmett@gmail.com> |
Safe Haskell | Safe-Inferred |
Control.Categorical.Object
Description
This module declares the HasTerminalObject
and HasInitialObject
classes.
These are both special cases of the idea of a (co)limit.
- class Category k => HasTerminalObject k where
- class Category k => HasInitialObject k where
Documentation
class Category k => HasTerminalObject k where
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 k :: *
class Category k => HasInitialObject k where
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 k :: *