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

Portabilitynon-portable (kind annotations, rank-2 types)
Stabilityexperimental
MaintainerEdward Kmett <ekmett@gmail.com>

Control.Functor.HigherOrder.Composition

Description

Composition of higher order functors

Documentation

newtype CompH f g a b Source

Constructors

CompH 

Fields

runCompH :: f (g a) b
 

Instances

HComposition CompH 
(HFunctor f, HFunctor g) => HFunctor (CompH f g) 
(HAdjunction f1 g1, HAdjunction f2 g2) => HAdjunction (CompH f2 f1) (CompH g1 g2) 
(HFunctor f, HFunctor g, Functor h) => Functor (CompH f g h) 

class HComposition o whereSource

Methods

hcompose :: f (g h) a -> (f `o` g) h aSource

hdecompose :: (f `o` g) h a -> f (g h) aSource

Instances

hassociateComposition :: (HFunctor f, HComposition o) => ((f `o` g) `o` h) a b -> (f `o` (g `o` h)) a bSource

hcoassociateComposition :: (HFunctor f, HComposition o) => (f `o` (g `o` h)) a b -> ((f `o` g) `o` h) a bSource