monad-schedule-0.1.0.0: A new, simple, composable concurrency abstraction.
Safe HaskellNone
LanguageHaskell2010

Control.Monad.Schedule.RoundRobin

Synopsis

Documentation

newtype RoundRobinT m a Source #

Any monad can be trivially scheduled by executing all actions after each other, step by step.

Constructors

RoundRobinT 

Fields

Instances

Instances details
MonadTrans RoundRobinT Source # 
Instance details

Defined in Control.Monad.Schedule.RoundRobin

Methods

lift :: Monad m => m a -> RoundRobinT m a #

Monad m => Monad (RoundRobinT m) Source # 
Instance details

Defined in Control.Monad.Schedule.RoundRobin

Methods

(>>=) :: RoundRobinT m a -> (a -> RoundRobinT m b) -> RoundRobinT m b #

(>>) :: RoundRobinT m a -> RoundRobinT m b -> RoundRobinT m b #

return :: a -> RoundRobinT m a #

Functor m => Functor (RoundRobinT m) Source # 
Instance details

Defined in Control.Monad.Schedule.RoundRobin

Methods

fmap :: (a -> b) -> RoundRobinT m a -> RoundRobinT m b #

(<$) :: a -> RoundRobinT m b -> RoundRobinT m a #

Applicative m => Applicative (RoundRobinT m) Source # 
Instance details

Defined in Control.Monad.Schedule.RoundRobin

Methods

pure :: a -> RoundRobinT m a #

(<*>) :: RoundRobinT m (a -> b) -> RoundRobinT m a -> RoundRobinT m b #

liftA2 :: (a -> b -> c) -> RoundRobinT m a -> RoundRobinT m b -> RoundRobinT m c #

(*>) :: RoundRobinT m a -> RoundRobinT m b -> RoundRobinT m b #

(<*) :: RoundRobinT m a -> RoundRobinT m b -> RoundRobinT m a #

MonadIO m => MonadIO (RoundRobinT m) Source # 
Instance details

Defined in Control.Monad.Schedule.RoundRobin

Methods

liftIO :: IO a -> RoundRobinT m a #

Monad m => MonadSchedule (RoundRobinT m) Source #

Execute only the first action, and leave the others for later, preserving the order.

Instance details

Defined in Control.Monad.Schedule.RoundRobin