continue-0.1.1: Continuation-based user interaction monad

MaintainerErtugrul Soeylemez <es@ertes.de>
Safe HaskellNone

Control.Continue.Class

Contents

Description

 

Synopsis

Suspension

class (Plus f, Monad m, Monoid e) => MonadContinue e f m | m -> e, m -> f whereSource

Type class for monads that support suspension and continuation spots.

Methods

addContSource

Arguments

:: Either e a

What to return now (left suspends).

-> f (m a)

What to run and return when reentering.

-> m a 

Add the given set of continuations and possibly suspend.

Instances

MonadContinue e f m => MonadContinue e f (MaybeT m) 
MonadContinue e f m => MonadContinue e f (IdentityT m) 
(MonadContinue e f m, Monoid l) => MonadContinue e f (WriterT l m) 
(MonadContinue e f m, Monoid l) => MonadContinue e f (WriterT l m) 
MonadContinue e f m => MonadContinue e f (StateT s m)

Time travel warning: Captures the current state, not the state at reentry!

MonadContinue e f m => MonadContinue e f (StateT s m)

Time travel warning: Captures the current state, not the state at reentry!

MonadContinue e f m => MonadContinue e f (ReaderT r m) 
(Monad m, Monoid e, Plus f) => MonadContinue e f (ContinueT e f m)