Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
tree: 7d72fa81e8
Fetching contributors…

Cannot retrieve contributors at this time

113 lines (87 sloc) 4.165 kB
-- 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.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
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.
.
/CHANGES/:
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
instantiated
.
-- 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.6
source-repository head
type: git
location: https://github.com/jberryman/chan-split.git
Library
-- for the split chan class:
Extensions: MultiParamTypeClasses
, FunctionalDependencies
-- for Functor / Contravariant instances:
, GADTs
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.