The pooled-io package

[ Tags: bsd3, library, parallelism ] [ Propose Tags ]

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:
Executables pooled-io-demo
Downloads 1818 total (507 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2016-02-12 [all 1 reports]
Hackage Matrix CI





Build example executables


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