pooled-io: Run jobs on a limited number of threads and support data dependencies

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.


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 are some flavors of this functionality:

Additionally there is the module Control.Concurrent.PooledIO.Sequence that helps to serialize I/O actions from multiple threads. It is certainly most useful in connection with Control.Concurrent.PooledIO.Independent.

Related packages:


Versions0.0,, 0.0.1,,, 0.0.2,,,
Change logNone available
Dependenciesbase (==4.*), concurrent-split (==0.0.*), containers (>=0.4 && <0.7), deepseq (>=1.3 && <1.5), pooled-io, transformers (>=0.2.2 && <0.6), unsafe (==0.0.*), utility-ht (>=0.0.9 && <0.1) [details]
AuthorHenning Thielemann <haskell@henning-thielemann.de>
MaintainerHenning Thielemann <haskell@henning-thielemann.de>
Home pagehttp://hub.darcs.net/thielema/pooled-io/
Source repositorythis: darcs clone http://hub.darcs.net/thielema/pooled-io/ --tag
head: darcs clone http://hub.darcs.net/thielema/pooled-io/
UploadedSat Sep 1 10:35:17 UTC 2018 by HenningThielemann





Build example executables


Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainers' corner

For package maintainers and hackage trustees