Idris2Doc : Control.Monad.Coop

Control.Monad.Coop

(source)

Reexports

import public System.Time
import public Data.Zippable
import public Control.Applicative.Concurrent
import public Control.Monad.Spawn
import public Control.Monad.Trans
import public Control.MonadRec

Definitions

data Coop : (Type -> Type) -> Type -> Type
Totality: total
Visibility: export
Constructors:
Point : m a -> Coop m a
Sequential : Coop m a -> (a -> Coop m b) -> Coop m b
Interleaved : Coop m a -> Coop m b -> Coop m (a, b)
Racing : Coop m a -> Coop m a -> Coop m a
RaceFence : Maybe (Sync Race) -> Coop m ()
DelayedTill : Time -> Coop m ()
Spawn : Coop m () -> Coop m ()
Empty : Coop m a

Hints:
Applicative m => Alternative (Coop m)
Applicative m => Applicative (Coop m)
Timed m => Applicative m => CanSleep (Coop m)
Applicative m => CanSpawn (Coop m)
Applicative m => ConcurrentApplicative (Coop m)
Applicative m => Functor (Coop m)
HasIO (Coop IO)
Applicative m => Monad (Coop m)
Applicative m => MonadRec (Coop m)
MonadTrans Coop
Timed m => Timed (Coop m)
Applicative m => Zippable (Coop m)
race : Applicative m => Coop m a -> Coop m b -> Coop m (Either a b)
Totality: total
Visibility: export
forever : Monad m => m a -> m b
Visibility: export
runCoop : MonadRec m => CanSleep m => Coop m () -> m ()
Visibility: export