packages feed

distributed-process-monad-control-0.5.1.3: distributed-process-monad-control.cabal

-- Initial distributed-process-monad-control.cabal generated by cabal init.
--   For further documentation, see http://haskell.org/cabal/users-guide/

name:                distributed-process-monad-control
version:             0.5.1.3
synopsis:            Orphan instances for MonadBase and MonadBaseControl.
homepage:            http://haskell-distributed.github.io
license:             BSD3
license-file:        LICENSE
author:              Jeremy Huffman
maintainer:          jeremy@jeremyhuffman.com
-- copyright:           
category:            Control
build-type:          Simple
extra-source-files:  README.md
cabal-version:       >=1.10
description:          
  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.
  .
  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()
  >import Control.Concurrent.MVar.Lifted (withMVar)
  >   
  >processWithMVar :: MVar a -> (a -> Process b) -> Process b
  >processWithMvar = withMVar

library
  exposed-modules:    Control.Distributed.Process.MonadBaseControl
  -- other-modules:       
  build-depends:      base >= 4.4 && <= 5
                    , distributed-process >= 0.4.2 && < 0.8.0
                    , monad-control >= 0.3 && < 1.1
                    , transformers
                    , transformers-base >= 0.4.1 && <= 0.5.0 
  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