Safe Haskell | None |
---|---|
Language | Haskell2010 |
This module only exports instances for MonadBase
IO
and
MonadBaseControl
IO
for the Process
monad. This is for use
in conjunction with a library requiring these instances, such as the
lifted-base package.
Please excercise caution in usage of this instance, as it can
enable use of functions such as forkIO
(or, fork
from 'lifted-base')
which compromise invariants in the Process monad and can lead to confusing
and subtle issues. Always use the Cloud Haskell functions such as spawnLocal
instead.
example usage:
import Control.Distributed.Process.MonadBaseControl() import Control.Concurrent.MVar.Lifted (withMVar)
processWithMVar :: MVar a -> (a -> Process b) -> Process b processWithMvar = withMVar