indexed-extras-0.1.1: Indexed functors, monads and comonads that require extensions to Haskell98

Portabilityrank-2 Types required for correctness of shift, but they can be removed
Stabilityexperimental
MaintainerReiner Pope <reiner.pope@gmail.com>
Safe HaskellNone

Control.Monad.Indexed.Cont

Description

 

Documentation

class IxMonad m => IxMonadCont m whereSource

Methods

reset :: m a o o -> m r r aSource

shift :: (forall i. (a -> m i i o) -> m r j j) -> m r o aSource

newtype IxContT m r o a Source

Constructors

IxContT 

Fields

runIxContT :: (a -> m o) -> m r
 

Instances

IxMonadTrans IxContT 
MonadReader e m => MonadReader e (IxContT m i i) 
MonadState e m => MonadState e (IxContT m i i) 
Monad m => IxMonad (IxContT m) 
IxFunctor (IxContT m) 
Monad m => IxApplicative (IxContT m) 
IxPointed (IxContT m) 
Monad m => IxMonadCont (IxContT m) 
Monad m => Monad (IxContT m i i) 
Monad m => Functor (IxContT m i j) 
Monad m => Applicative (IxContT m i i) 
MonadIO m => MonadIO (IxContT m i i) 
Monad m => Pointed (IxContT m i i) 

runIxContT_ :: Monad m => IxContT m r a a -> m rSource

runIxCont :: IxCont r o a -> (a -> o) -> rSource

runIxCont_ :: IxCont r a a -> rSource