Control.Monad.Schedule.Yield

Contents

YieldT

type YieldT = ScheduleT () Source #

A monad for scheduling with cooperative concurrency.

type Yield = YieldT Identity Source #

yield :: Monad m => YieldT m () Source #

Let another thread wake up.

runYieldT :: Monad m => YieldT m a -> m a Source #

runYield :: Yield a -> a Source #

runYieldIO :: MonadIO m => YieldT m a -> m a Source #

Run a YieldT value in a MonadIO, interpreting yields as GHC concurrency yields.

MonadIO

yield