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 <lemming@henning-thielemann.de> wrote:
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