Contents

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

# Orphan instances

 Source # MethodsliftBase :: IO α -> Process α # Source # Associated Typestype StM (Process :: * -> *) a :: * # MethodsliftBaseWith :: (RunInBase Process IO -> IO a) -> Process a #restoreM :: StM Process a -> Process a #