-- 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: