kan-extensions-1.8.0: Kan extensions, the Yoneda lemma, and (co)density (co)monads

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

Control.Monad.Co

Description

Monads from Comonads

http:comonad.comreader2011monads-from-comonads

Documentation

newtype Co w a Source

Constructors

Co 

Fields

runCo :: forall r. w (a -> r) -> r
 

Instances

ComonadStore s m => MonadState s (Co m) 
Comonad w => Monad (Co w) 
Functor w => Functor (Co w) 
Comonad w => Applicative (Co w) 
Extend w => Apply (Co w) 
Extend w => Bind (Co w) 

lift0 :: Comonad w => (forall a. w a -> s) -> Co w sSource

lift1 :: (forall a. w a -> a) -> Co w ()Source

lower0 :: Functor w => Co w s -> w a -> sSource

lower1 :: Functor w => Co w () -> w a -> aSource