
I uploaded the package pooled-io to Hackage: https://hackage.haskell.org/package/pooled-io It is intended to perform parallelism in the IO monad. I needed it for computations that must write intermediate data to disk. The main task of the package is to make sure that no more than a maximum number of actions is run in parallel. There are three modules: For actions without monadic results, for actions with monadic results and for actions that depend on each others results.

Hi,
Looks interesting. Did you also consider implementing this throttled
workpool of IO actions on top of the async library [1]? E.g.
mapPool :: T.Traversable t => Int -> (a -> IO b) -> t a -> IO (t b)
As in the following SO answer:
http://stackoverflow.com/a/18898822/1526266
[1] - http://hackage.haskell.org/package/async
--
Rob
On 17 January 2014 16:07, Henning Thielemann
I uploaded the package pooled-io to Hackage: https://hackage.haskell.org/package/pooled-io
It is intended to perform parallelism in the IO monad. I needed it for computations that must write intermediate data to disk. The main task of the package is to make sure that no more than a maximum number of actions is run in parallel. There are three modules: For actions without monadic results, for actions with monadic results and for actions that depend on each others results. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Am 17.01.2014 17:20, schrieb Rob Stewart:
Looks interesting. Did you also consider implementing this throttled workpool of IO actions on top of the async library [1]?
What would be the advantages?
E.g. mapPool :: T.Traversable t => Int -> (a -> IO b) -> t a -> IO (t b)
As in the following SO answer: http://stackoverflow.com/a/18898822/1526266
I have added an answer to this question.
participants (3)
-
Henning Thielemann
-
Henning Thielemann
-
Rob Stewart