Skip to content
Find file
Fetching contributors…
Cannot retrieve contributors at this time
113 lines (87 sloc) 4.07 KB
-- chan-split.cabal auto-generated by cabal init. For additional
-- options, see
-- The name of the package.
Name: chan-split
-- The package version. See the Haskell package versioning policy
-- ( for
-- standards guiding when and how versions should be incremented.
Version: 0.3.0
-- A short (one-line) description of the package.
Synopsis: Concurrent Chans as read/write pairs. Also provides generic
Chan pair class.
-- 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 'Contravariant') on the chan
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.
0.1.3 -> 0.2.0
- get Cofunctor from "contravariant" package
- redefine chan pair classes using fundeps
to express the relationship between input
and output halfs of a Chan
- define 'NewSplitChan' class for chan pairs that can be
-- 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.
-- 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.6
source-repository head
type: git
-- for the split chan class:
Extensions: MultiParamTypeClasses
, FunctionalDependencies
-- for Functor / Contravariant instances:
Exposed-modules: Control.Concurrent.Chan.Split
, Control.Concurrent.Chan.Class
Build-depends: base >= 4 && < 5
, contravariant
ghc-options: -Wall
-- Modules not exported by this package.
-- Other-modules:
-- Extra tools (e.g. alex, hsc2hs, ...) needed to build the source.
-- Build-tools:
Jump to Line
Something went wrong with that request. Please try again.