distributed-process-monad-control-0.5.1.3: Orphan instances for MonadBase and MonadBaseControl.
This module exports instances for MonadBase IO and
MonadBaseControl IO for the lifted-base package.Process monad. This is for use
in conjunction with a library requiring these instances, such as the
A tutorial segment regarding use of this in distributed-process applications may be found here.
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
Signatures
Modules
- Control
- Distributed