Safe Haskell | Safe |
---|---|
Language | Haskell98 |
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
class ForkableT t where Source
ForkableT. The default instance uses MonadTransControl
to lift the underlying fork
Nothing
class (MonadIO m, MonadIO n) => Forkable m n where Source
Nothing
Forkable IO IO | |
(MonadBaseControl IO m, MonadIO m) => Forkable (ResourceT m) (ResourceT m) | |
(Forkable m n, Error e) => Forkable (ErrorT e m) (ErrorT e n) | |
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) |