[Haskell-cafe] forkSequence, runPar, parallelize (was: Re: You are
in a twisty maze of concurrency libraries, all different ...)
Mario Blazevic
mblazevic at stilo.com
Wed Dec 9 15:17:56 EST 2009
It appears there are several implementations existing on Hackage of the
following function, in various disguises:
runPar :: [IO a] -> IO [a]
the idea being that the IO computations are run in parallel, rather than
sequentially. My own Streaming Component Combinators package contains a
similar function, but somewhat generalized:
class Monad m => ParallelizableMonad m where
parallelize :: m a -> m b -> m (a, b)
instance ParallelizableMonad IO -- implemented using forkIO
instance ParallelizableMonad Identity -- implemented using par
instance ParallelizableMonad Maybe -- implemented using par
Would there be any interest in having this class packaged in a separate
library? If so, can you sugest a better name or some additional
functionality?
More information about the Haskell-Cafe
mailing list