| Safe Haskell | Safe |
|---|
Control.Concurrent.ForkableT
Description
This module defines two classes. means a monad Forkable m nn may be forked in m.
means that applying the transformer to ForkableT tn and m will mean you can still fork t n in t m.
The reason we need a separate class for monad transformers is because often times the "forkability" of a transformed monad does not depend on the underlying monad, only it's forkability. This is the case for example for most standard monad transformers.
Documentation
ForkableT. The default instance uses MonadTransControl to lift the underlying fork
class (MonadIO m, MonadIO n) => Forkable m n whereSource
Instances
| Forkable IO IO | |
| (MonadBaseControl IO m, MonadIO m) => Forkable (ResourceT m) (ResourceT m) | |
| Forkable m n => Forkable (ReaderT s m) (StateT s n) | |
| Forkable m n => Forkable (ReaderT r m) (ReaderT r n) | |
| Forkable m n => Forkable (StateT s m) (ReaderT s n) | |
| Forkable m n => Forkable (StateT s m) (StateT s n) | |
| (Forkable m n, Error e) => Forkable (ErrorT e m) (ErrorT e n) |