category-extras-0.53.6: Various modules and constructs inspired by category theoryContentsIndex
Control.Functor.Full
Portabilitynon-portable (class-associated types)
Stabilityexperimental
MaintainerEdward Kmett <ekmett@gmail.com>
Description
Synopsis
class Functor f => Full f where
premap :: (f a -> f b) -> a -> b
class Functor f => Faithful f
unmap :: (Full f, Faithful f) => (f a -> f b) -> a -> b
Documentation
class Functor f => Full f where

A Full Functor F : C -> D provides for every pair of objects c, c' in C and every morphism g : F c -> F c'l in D, a morphism g' : c -> c' in C. In short map has a right-inverse under composition.

 fmap . premap = id
Methods
premap :: (f a -> f b) -> a -> b
show/hide Instances
(Full f, Full g) => Full (CompF f g)
(Full f, Full g) => Full (ACompF f g)
(Full mw, Full f) => Full (PostCompF mw f)
(Full f, Full mw) => Full (PreCompF f mw)
(Full f, Full g) => Full (DistCompF f g)
(Full f, Full g) => Full (PointedCompF f g)
class Functor f => Faithful f
show/hide Instances
(Faithful f, Faithful g) => Faithful (f :*: g)
unmap :: (Full f, Faithful f) => (f a -> f b) -> a -> b

For every pair of objects a and b in C a Full Faithful Functor F : C -> D maps every morphism f : a -> b onto a distinct morphism f : T a -> T b (since it is faithful) and every morphism from g : T a -> T b can be obtained from some f. (It maps Hom-sets bijectively, or in short fmap has both a left and right inverse under composition.

 unmap . fmap = id
Produced by Haddock version 2.1.0