The pooled-io package

[Tags:bsd3, library]

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:


Versions 0.0,, 0.0.1,,, 0.0.2,
Dependencies base (==4.*), concurrent-split (==0.0.*), containers (>=0.4 && <0.6), deepseq (>=1.3 && <1.5), pooled-io, transformers (>=0.2.2 && <0.6), unsafe (==0.0.*), utility-ht (>=0.0.9 && <0.1) [details]
License BSD3
Author Henning Thielemann <>
Maintainer Henning Thielemann <>
Category Parallelism
Home page
Source repository this: darcs get --tag
head: darcs get
Uploaded Thu Feb 11 17:01:06 UTC 2016 by HenningThielemann
Distributions LTSHaskell:, NixOS:, Stackage:, Tumbleweed:
Downloads 939 total (6 in the last 30 days)
0 []
Status Docs available [build log]
Last success reported on 2016-02-12 [all 1 reports]




buildexamplesBuild example executablesDisabledAutomatic

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


Maintainer's Corner

For package maintainers and hackage trustees