category-extras-0.52.0: Various modules and constructs inspired by category theory

Portabilityportable
Stabilityexperimental
MaintainerEdward Kmett <ekmett@gmail.com>

Control.Morphism.Universal

Description

Note the choice of which is universal and which is couniversal is chosen to make the definitions consistent with limits and colimits.

Documentation

data Couniversal a f x Source

Constructors

Couniversal (a -> f x) (forall z. (a -> f z) -> x -> z) 

couniversalize :: (a -> f z) -> Couniversal a f x -> x -> zSource

data Universal a f x Source

Constructors

Universal (f x -> a) (forall z. (f z -> a) -> z -> x) 

extractUniversal :: Universal a f x -> f x -> aSource

universalize :: Universal a f x -> (f z -> a) -> z -> xSource