distributed-process-monad-control 0.5.1 → 0.5.1.1
raw patch · 3 files changed
+18/−3 lines, 3 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Control.Distributed.Process.MonadBaseControl: instance MonadBase IO Process
- Control.Distributed.Process.MonadBaseControl: instance MonadBaseControl IO Process
+ Control.Distributed.Process.MonadBaseControl: instance Control.Monad.Base.MonadBase GHC.Types.IO Control.Distributed.Process.Internal.Types.Process
+ Control.Distributed.Process.MonadBaseControl: instance Control.Monad.Trans.Control.MonadBaseControl GHC.Types.IO Control.Distributed.Process.Internal.Types.Process
Files
- README.md +1/−1
- distributed-process-monad-control.cabal +11/−2
- src/Control/Distributed/Process/MonadBaseControl.hs +6/−0
README.md view
@@ -1,6 +1,6 @@ ### distributed-process-monad-control -Orphan instances for MonadBase and MonadBaseControl.+Orphan instances for `MonadBase` and `MonadBaseControl`. Please see the [tutorial](http://haskell-distributed.github.io/tutorials/3ch.html#monad-transformer-stacks) for an introduction and use case for these instances. Also please note that these instances enable the use of functions that are un-sound in the context of `distributed-process`. Functions such as `forkIO` (or, `fork` from `lifted-base`) compromise invariants in the Process monad and can lead to confusing and subtle issues. Always use the Cloud Haskell functions such as `spawnLocal` instead. This repository is part of Cloud Haskell.
distributed-process-monad-control.cabal view
@@ -2,7 +2,7 @@ -- For further documentation, see http://haskell.org/cabal/users-guide/ name: distributed-process-monad-control-version: 0.5.1+version: 0.5.1.1 synopsis: Orphan instances for MonadBase and MonadBaseControl. homepage: http://haskell-distributed.github.io license: BSD3@@ -15,7 +15,7 @@ extra-source-files: README.md cabal-version: >=1.10 description: - This module only exports instances for @'MonadBase' @'IO' and+ This module 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 @<http://hackage.haskell.org/package/lifted-base lifted-base> package.@@ -23,6 +23,11 @@ A tutorial segment regarding use of this in distributed-process applications may be found <http://haskell-distributed.github.io/tutorials/3ch.html#monad-transformer-stacks 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()@@ -42,3 +47,7 @@ hs-source-dirs: src default-language: Haskell2010 ghc-options: -Wall++source-repository head+ type: git+ location: https://github.com/haskell-distributed/distributed-process-monad-control
src/Control/Distributed/Process/MonadBaseControl.hs view
@@ -14,6 +14,12 @@ -- in conjunction with a library requiring these instances, such as the -- <http://hackage.haskell.org/package/lifted-base 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()