packages feed

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 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()