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

Control.Monad.HigherOrder

Description

class HFunctor f whereSource

Methods

ffmap :: Functor g => (a -> b) -> f g a -> f g bSource

hfmap :: Natural g h -> Natural (f g) (f h)Source

Instances

class HFunctor m => HPointed m whereSource

hreturn :: Functor f => Natural f (m f)Source

class HPointed m => HMonad m whereSource

hbind :: (Functor f, Functor g) => Natural f (m g) -> Natural (m f) (m g)Source

hjoin :: (HMonad m, Functor (m g), Functor g) => m (m g) a -> m g aSource

(>>**=) :: (HMonad m, Functor f, Functor g) => m f a -> Natural f (m g) -> m g aSource

(=**<<) :: (HMonad m, Functor f, Functor g) => Natural f (m g) -> Natural (m f) (m g)Source