chan-split-0.1.2: chan-split.cabal
-- chan-split.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: chan-split
Homepage: http://coder.bsimmons.name/blog/2011/07/module-chan-split-released/
-- 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: 0.1.2
-- A short (one-line) description of the package.
Synopsis: Concurrent Chans as read/write pairs. Also provides generic
Chan, Cofunctor classes.
-- A longer description of the package.
Description: A wrapper around Control.Concurrent.Chan that splits a Chan
into a pair, one of which allows only read operations, the
other write operations.
.
This makes code easier to reason about, allows us to define
useful instances ('Functor' and 'Cofunctor') on the chan
pairs.
.
In addition this package provides a module that defines a
pair of classes 'ReadableChan' and 'WritableChan' which
defines the basic methods any Chan type should provide.
.
To use standard Chans with these polymorphic functions,
import as follows:
.
> import Control.Concurrent.Chan hiding (readChan,writeChan,writeList2Chan)
> import Control.Concurrent.Chan.Class
.
When used alongside standard Chans, the Split module can be
imported qualified like:
.
> import qualified Control.Concurrent.Chan.Split as S
.
Note, we do not implement the deprecated unGetChan and
isEmptyChan functions.
.
This module is used internally by the simple-actors package.
-- The license under which the package is released.
License: BSD3
-- The file containing the license text.
License-file: LICENSE
-- The package author(s).
Author: Brandon Simmons
-- An email address to which users can send suggestions, bug reports,
-- and patches.
Maintainer: brandon.m.simmons@gmail.com
-- A copyright notice.
-- Copyright:
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.Chan.Split
, Control.Concurrent.Chan.Class
, Data.Cofunctor
-- Packages needed in order to build this package.
Build-depends: base >= 4 && < 5
ghc-options: -Wall
-- Modules not exported by this package.
-- Other-modules:
-- Extra tools (e.g. alex, hsc2hs, ...) needed to build the source.
-- Build-tools: