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

Portabilitynon-portable (rank-2 polymorphism)
Stabilityexperimental
MaintainerEdward Kmett <ekmett@gmail.com>

Control.Monad.HigherOrder

Description

 

Documentation

class HFunctor f whereSource

Methods

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

hfmap :: (g :~> h) -> f g :~> f hSource

class HFunctor m => HPointed m whereSource

Methods

hreturn :: Functor f => f a -> m f aSource

class HPointed m => HMonad m whereSource

Methods

hbind :: (Functor f, Functor g) => (f :~> m g) -> m f :~> m gSource

hjoin :: (HMonad m, Functor (m g), Functor g) => m (m g) :~> m gSource

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

(=**<<) :: (HMonad m, Functor f, Functor g) => (f :~> m g) -> m f :~> m gSource