io-sim-classes-0.2.0.0: Type classes for concurrency with STM, ST and timing
Safe HaskellNone
LanguageHaskell2010

Control.Monad.Class.MonadFork

Synopsis

Documentation

class (Monad m, Eq (ThreadId m), Ord (ThreadId m), Show (ThreadId m)) => MonadThread m where Source #

Associated Types

type ThreadId m :: Type Source #

Methods

myThreadId :: m (ThreadId m) Source #

labelThread :: ThreadId m -> String -> m () Source #

Instances

Instances details
MonadThread IO Source # 
Instance details

Defined in Control.Monad.Class.MonadFork

Associated Types

type ThreadId IO Source #

MonadThread m => MonadThread (ReaderT e m) Source # 
Instance details

Defined in Control.Monad.Class.MonadFork

Associated Types

type ThreadId (ReaderT e m) Source #

class MonadThread m => MonadFork m where Source #

Minimal complete definition

forkIO, forkIOWithUnmask, throwTo

Methods

forkIO :: m () -> m (ThreadId m) Source #

forkIOWithUnmask :: ((forall a. m a -> m a) -> m ()) -> m (ThreadId m) Source #

throwTo :: Exception e => ThreadId m -> e -> m () Source #

killThread :: ThreadId m -> m () Source #

Instances

Instances details
MonadFork IO Source # 
Instance details

Defined in Control.Monad.Class.MonadFork

Methods

forkIO :: IO () -> IO (ThreadId IO) Source #

forkIOWithUnmask :: ((forall a. IO a -> IO a) -> IO ()) -> IO (ThreadId IO) Source #

throwTo :: Exception e => ThreadId IO -> e -> IO () Source #

killThread :: ThreadId IO -> IO () Source #

MonadFork m => MonadFork (ReaderT e m) Source # 
Instance details

Defined in Control.Monad.Class.MonadFork

Methods

forkIO :: ReaderT e m () -> ReaderT e m (ThreadId (ReaderT e m)) Source #

forkIOWithUnmask :: ((forall a. ReaderT e m a -> ReaderT e m a) -> ReaderT e m ()) -> ReaderT e m (ThreadId (ReaderT e m)) Source #

throwTo :: Exception e0 => ThreadId (ReaderT e m) -> e0 -> ReaderT e m () Source #

killThread :: ThreadId (ReaderT e m) -> ReaderT e m () Source #

labelThisThread :: MonadThread m => String -> m () Source #

Apply the label to the current thread

Deprecated API

fork :: MonadFork m => m () -> m (ThreadId m) Source #

Deprecated: use forkIO

forkWithUnmask :: MonadFork m => ((forall a. m a -> m a) -> m ()) -> m (ThreadId m) Source #

Deprecated: use forkIO