packages feed

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: