| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Control.Distributed.Process.MonadBaseControl
Description
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