packages feed

pooled-io-0.0: pooled-io.cabal

Name:             pooled-io
Version:          0.0
License:          BSD3
License-File:     LICENSE
Author:           Henning Thielemann <haskell@henning-thielemann.de>
Maintainer:       Henning Thielemann <haskell@henning-thielemann.de>
Homepage:         http://code.haskell.org/~thielema/pooled-io/
Category:         Parallelism
Synopsis:         Run jobs on a limited number of threads and support data dependencies
Description:
  The motivation for this package was to run computations on multiple cores
  that need to write intermediate results to disk.
  The functions restrict the number of simultaneously running jobs
  to a user given number or to the number of capabilities
  the Haskell program was started with,
  i.e. the number after the RTS option @-N@.
  .
  There some flavors of this functionality:
  .
  * "Control.Concurrent.PooledIO.Independent":
    run independent actions without results in parallel
  .
  * "Control.Concurrent.PooledIO.Final":
    run independent actions with a final result in parallel
  .
  * "Control.Concurrent.PooledIO.InOrder":
    run jobs in parallel with data dependencies like @make -j n@
  .
  Related packages:
  .
  * @lazyio@: interleave IO actions in a single thread
Tested-With:      GHC==7.4.1
Cabal-Version:    >=1.8
Build-Type:       Simple

Flag buildExamples
  description: Build example executables
  default:     False

Source-Repository this
  Tag:         0.0
  Type:        darcs
  Location:    http://code.haskell.org/~thielema/pooled-io/

Source-Repository head
  Type:        darcs
  Location:    http://code.haskell.org/~thielema/pooled-io/

Library
  Build-Depends:
    transformers >=0.2.2 && <0.4,
    deepseq >=1.3 && <1.4,
    unsafe >=0.0 && <0.1,
    utility-ht >=0.0.9 && <0.1,
    base >=4 && <5

  GHC-Options:      -Wall
  Hs-Source-Dirs:   src
  Exposed-Modules:
    Control.Concurrent.PooledIO.Independent
    Control.Concurrent.PooledIO.Final
    Control.Concurrent.PooledIO.InOrder
  Other-Modules:
    Control.Concurrent.PooledIO.Monad

Executable pooled-io-demo
  If flag(buildExamples)
    Build-Depends:
      pooled-io,
      base
  Else
    Buildable: False

  GHC-Options:      -Wall -threaded
  Main-Is:          example/Main.hs