monadology-0.4: The best ideas in monad-related classes and types.
Safe HaskellNone
LanguageGHC2021

Control.Monad.Ology.Specific.CoroutineT

Documentation

data Turn p q a Source #

Constructors

MkTurn p (q -> a) 

Instances

Instances details
Functor (Turn p q) Source # 
Instance details

Defined in Control.Monad.Ology.Specific.CoroutineT

Methods

fmap :: (a -> b) -> Turn p q a -> Turn p q b #

(<$) :: a -> Turn p q b -> Turn p q a #

type CoroutineT p q = StepT (Turn p q) Source #

runCoroutine :: Monad m => CoroutineT p p m a -> m a Source #

yieldCoroutine :: forall (m :: Type -> Type) p q. Monad m => p -> CoroutineT p q m q Source #

joinCoroutines :: forall (m :: Type -> Type) q r a p. Monad m => CoroutineT q r m a -> (q -> CoroutineT p q m a) -> CoroutineT p r m a Source #