Safe Haskell | None |
---|---|
Language | Haskell2010 |
Functor of Functors
Documentation
class FFunctor (f :: (* -> *) -> *) where Source #
A Functor over Functors (aka Higher Kinded Functor)
Nothing
ffmap :: (Functor m, Functor n) => (forall a. m a -> n a) -> f m -> f n Source #
Applies a natural transformation to a higher kinded type
ffmap :: (Generic1 f, FFunctor (Rep1 f), Functor m, Functor n) => (forall a. m a -> n a) -> f m -> f n Source #
Applies a natural transformation to a higher kinded type
Instances
FFunctor (V1 :: (Type -> Type) -> Type) Source # | |
FFunctor (U1 :: (Type -> Type) -> Type) Source # | |
FFunctor f => FFunctor (Rec1 f) Source # | |
FFunctor (Const c :: (Type -> Type) -> Type) Source # | |
FFunctor (K1 i c :: (Type -> Type) -> Type) Source # | |
(FFunctor f, FFunctor g) => FFunctor (f :+: g) Source # | |
(FFunctor f, FFunctor g) => FFunctor (f :*: g) Source # | |
(FFunctor f, FFunctor g) => FFunctor (Product f g) Source # | |
(FFunctor f, FFunctor g) => FFunctor (Sum f g) Source # | |
FFunctor f => FFunctor (M1 i c f) Source # | |
(Functor f, FFunctor g) => FFunctor (f :.: g) Source # | |
(Functor f, FFunctor g) => FFunctor (Compose f g) Source # | |