chp-transformers (empty) → 1.0.0
raw patch · 4 files changed
+216/−0 lines, 4 filesdep +basedep +chpdep +chp-plussetup-changed
Dependencies added: base, chp, chp-plus, transformers
Files
- Control/Concurrent/CHP/Transformers.hs +119/−0
- LICENSE +30/−0
- Setup.hs +3/−0
- chp-transformers.cabal +64/−0
+ Control/Concurrent/CHP/Transformers.hs view
@@ -0,0 +1,119 @@+-- Communicating Haskell Processes.+-- Copyright (c) 2008--2010, University of Kent.+-- All rights reserved.+-- +-- Redistribution and use in source and binary forms, with or without+-- modification, are permitted provided that the following conditions are+-- met:+--+-- * Redistributions of source code must retain the above copyright+-- notice, this list of conditions and the following disclaimer.+-- * Redistributions in binary form must reproduce the above copyright+-- notice, this list of conditions and the following disclaimer in the+-- documentation and/or other materials provided with the distribution.+-- * Neither the name of the University of Kent nor the names of its+-- contributors may be used to endorse or promote products derived from+-- this software without specific prior written permission.+--+-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS+-- IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,+-- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR+-- PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR+-- CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,+-- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,+-- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR+-- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF+-- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING+-- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS+-- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.++-- | Various (orphan) instances for monads from the chp and chp-plus libraries+-- for classes from the transformers library.+--+-- There are 'MonadIO' instances for:+--+-- * 'CHP'+-- +-- * 'CHPTest'+-- +-- * 'Composed'+--+-- There are 'MonadCHP' instances of the form @instance MonadCHP m => MonadCHP+-- (t m)@, where t is one of the monad transformers:+--+-- * WriterT (lazy and strict)+--+-- * StateT (lazy and strict)+--+-- * RWST (lazy and strict)+--+-- * 'ReaderT'+--+-- * 'ErrorT'+--+-- * 'ContT'+--+-- * 'IdentityT'++module Control.Concurrent.CHP.Transformers where++import Control.Concurrent.CHP+import Control.Concurrent.CHP.Composed+import Control.Concurrent.CHP.Test+import Control.Monad.IO.Class+import Control.Monad.Trans.Cont+import Control.Monad.Trans.Error+import Control.Monad.Trans.Identity+import Control.Monad.Trans.Maybe+import Control.Monad.Trans.Reader+import qualified Control.Monad.Trans.RWS.Lazy as LR+import qualified Control.Monad.Trans.RWS.Strict as SR+import qualified Control.Monad.Trans.State.Lazy as LS+import qualified Control.Monad.Trans.State.Strict as SS+import qualified Control.Monad.Trans.Writer.Lazy as LW+import qualified Control.Monad.Trans.Writer.Strict as SW+import Control.Monad.Trans.Class+import Data.Monoid+++instance MonadIO CHP where+ liftIO = liftIO_CHP++instance (Monoid w, MonadCHP m) => MonadCHP (LW.WriterT w m) where+ liftCHP = lift . liftCHP++instance (Monoid w, MonadCHP m) => MonadCHP (SW.WriterT w m) where+ liftCHP = lift . liftCHP++instance MonadCHP m => MonadCHP (LS.StateT s m) where+ liftCHP = lift . liftCHP++instance MonadCHP m => MonadCHP (SS.StateT s m) where+ liftCHP = lift . liftCHP++instance (Monoid w, MonadCHP m) => MonadCHP (LR.RWST r w s m) where+ liftCHP = lift . liftCHP++instance (Monoid w, MonadCHP m) => MonadCHP (SR.RWST r w s m) where+ liftCHP = lift . liftCHP++instance (Error e, MonadCHP m) => MonadCHP (ErrorT e m) where+ liftCHP = lift . liftCHP++instance MonadCHP m => MonadCHP (ReaderT r m) where+ liftCHP = lift . liftCHP++instance MonadCHP m => MonadCHP (IdentityT m) where+ liftCHP = lift . liftCHP++instance MonadCHP m => MonadCHP (MaybeT m) where+ liftCHP = lift . liftCHP++instance MonadCHP m => MonadCHP (ContT r m) where+ liftCHP = lift . liftCHP++instance MonadIO CHPTest where+ liftIO = liftCHP . liftIO++instance MonadIO Composed where+ liftIO = liftCHP . liftIO
+ LICENSE view
@@ -0,0 +1,30 @@+Copyright Neil Brown 2010++All rights reserved.++Redistribution and use in source and binary forms, with or without+modification, are permitted provided that the following conditions are met:++ * Redistributions of source code must retain the above copyright+ notice, this list of conditions and the following disclaimer.++ * Redistributions in binary form must reproduce the above+ copyright notice, this list of conditions and the following+ disclaimer in the documentation and/or other materials provided+ with the distribution.++ * Neither the name of Neil Brown nor the names of other+ contributors may be used to endorse or promote products derived+ from this software without specific prior written permission.++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ Setup.hs view
@@ -0,0 +1,3 @@+#!/usr/bin/env runhaskell+import Distribution.Simple+main = defaultMain
+ chp-transformers.cabal view
@@ -0,0 +1,64 @@+-- chp-transformers.cabal auto-generated by cabal init. For additional+-- options, see+-- http://www.haskell.org/cabal/release/cabal-latest/doc/users-guide/authors.html#pkg-descr.+-- The name of the package.+Name: chp-transformers++-- The package version. See the Haskell package versioning policy+-- (http://www.haskell.org/haskellwiki/Package_versioning_policy) for+-- standards guiding when and how versions should be incremented.+Version: 1.0.0++-- A short (one-line) description of the package.+Synopsis: Transformers instances for the CHP library++-- A longer description of the package.+-- Description: ++-- URL for the project homepage or repository.+Homepage: http://www.cs.kent.ac.uk/projects/ofa/chp/++-- The license under which the package is released.+License: BSD3++-- The file containing the license text.+License-file: LICENSE++-- The package author(s).+Author: Neil Brown++-- An email address to which users can send suggestions, bug reports,+-- and patches.+Maintainer: neil@twistedsquare.com++-- A copyright notice.+Copyright: University of Kent, 2008--2010++-- Stability of the pakcage (experimental, provisional, stable...)+Stability: Provisional++Category: Concurrency++Build-type: Simple++-- Extra files to be distributed with the package, such as examples or+-- a README.+-- Extra-source-files: ++-- Constraint on the version of Cabal needed to build this package.+Cabal-version: >=1.2+++Library+ -- Modules exported by the library.+ Exposed-modules: Control.Concurrent.CHP.Transformers+ + -- Packages needed in order to build this package.+ Build-depends: base >= 3 && < 5, chp >= 2.2 && < 3, chp-plus >= 1.3 && < 2, transformers >= 0.2 && < 0.3+ + -- Modules not exported by this package.+ -- Other-modules: + + -- Extra tools (e.g. alex, hsc2hs, ...) needed to build the source.+ -- Build-tools: +