-- Initial tubes.cabal generated by cabal init.  For further 

-- documentation, see http://haskell.org/cabal/users-guide/

-- The name of the package.
name:                tubes

-- The package version.  See the Haskell package versioning policy (PVP) 
-- for standards guiding when and how versions should be incremented.
-- http://www.haskell.org/haskellwiki/Package_versioning_policy
-- PVP summary:      +-+------- breaking API changes
--                   | | +----- non-breaking API additions
--                   | | | +--- code changes with no API change
version:             0.2.2.2

-- Constraint on the version of Cabal needed to build this package.
cabal-version:       >=1.10

-- A short (one-line) description of the package.
synopsis:            Effectful, iteratee-inspired stream processing based on a
                     free monad.

-- A longer description of the package.
description:
    This package provides the @Tube@ monad transformer, allowing any monad
    computation to become a stream processing pipeline. A computation of type
    @Tube a b m r@ consumes values of type 'a' and produces values of type
    'b'.
    .
    @Tube@s are coroutines which can suspend computation to yield an
    intermediate value or continue execution by requesting an upstream value.
    .
    Examples and more information may be found at
    <https://github.com/gatlin/tubes>.
    .
    If I managed to upload another faulty package that does not build
    correctly, Hackage documentation is also available at
    <http://niltag.net/tubes>.

-- URL for the project homepage or repository.
homepage:            https://github.com/gatlin/tubes

-- The license under which the package is released.
license:             GPL-3

-- The file containing the license text.
license-file:        LICENSE

-- The package author(s).
author:              Gatlin C Johnson

-- An email address to which users can send suggestions, bug reports, and 
-- patches.
maintainer:          gatlin@niltag.net

-- A copyright notice.
copyright:           2015

-- category:            

build-type:          Simple

category: Control, Streaming

-- Extra files to be distributed with the package, such as examples or a 
-- README.
-- extra-source-files:  

source-repository head
    type: git
    location: https://github.com/gatlin/tubes

library
  -- Modules exported by the library.
  exposed-modules:     Tubes, Tubes.Core, Tubes.Util, Tubes.Pump
  
  -- Modules included in this library but not exported.
  -- other-modules:       
  
  -- LANGUAGE extensions used by modules in this package.
  other-extensions:    NoMonomorphismRestriction, Rank2Types,
                       FlexibleInstances, FlexibleContexts, DeriveFunctor
  
  -- Other library packages from which modules are imported.
  build-depends:       base >=4.7.0.1 && < 5,
                       transformers >=0.3,
                       free >=4.12,
                       mtl,
                       comonad
  
  -- Directories containing source files.
  -- hs-source-dirs:      
  
  -- Base language which the package is written in.
  default-language:    Haskell2010
  
  ghc-options:            -O2