concurrent-state-0.5.0.0: MTL-like library using TVars

Portabilityportable
Stabilityexperimental
Maintainerme@joelt.io
Safe HaskellSafe-Inferred

Control.Concurrent.Lifted.Fork

Description

Generalizes forkIO to MonadIO.

Synopsis

Documentation

class MonadIO m => MonadFork m whereSource

Generalize forkIO to MonadIO.

Methods

fork :: m () -> m ThreadIdSource

forkOn :: Int -> m () -> m ThreadIdSource

forkOS :: m () -> m ThreadIdSource

Instances

MonadFork IO 
MonadFork m => MonadFork (ReaderT r m) 
MonadFork m => MonadFork (StateC s m) 
MonadFork m => MonadFork (StateC s m) 
(Monoid w, MonadFork m) => MonadFork (RWSC r w s m) 
(Monoid w, MonadFork m) => MonadFork (RWSC r w s m) 

forkFinally :: (MonadCatch m, MonadFork m) => m a -> (Either SomeException a -> m ()) -> m ThreadIdSource

Generalized forkFinally.

forkWithUnmask :: (MonadCatch m, MonadFork m) => ((forall a. m a -> m a) -> m ()) -> m ThreadIdSource

Generalized forkIOWithUnmask.

forkOnWithUnmask :: (MonadCatch m, MonadFork m) => Int -> ((forall a. m a -> m a) -> m ()) -> m ThreadIdSource

Generalized forkOnWithUnmask.