Portability | non-portable (kind annotations, rank-2 types) |
---|---|
Stability | experimental |
Maintainer | Edward Kmett <ekmett@gmail.com> |
Composition of higher order functors
Documentation
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
hcompose :: f (g h) a -> (f `o` g) h aSource
hdecompose :: (f `o` g) h a -> f (g h) aSource
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