Hi,

On 3 October 2012 19:23, Ryan Newton <rrnewton@gmail.com> wrote:
That said, I don't see a reason for not including a separate version of runParIO :: ParIO a -> IO a for non-deterministic computations. It seems really useful!


Exactly.  I should have been more explicit but that's what I meant about "adding another module".  You would import Control.Monad.Par.IO and get runParIO + liftIO but NOT runPar.  This requires doing a newtype over Par to create the liftIO instance for one and not the other (and preserve Safe Haskell).  It's a pain but it's no problem.  Both types Control.Monad.Par.Par and Control.Monad.Par.IO.ParIO will expose the same interface (i.e. have instances of the same classes -- ParFuture, ParIVar...), so generic algorithms like "parMap" will still work for either.

  -Ryan

This sounds like a great idea, I just wanted to ask if anyone is working on it or not?

Thanks,
Ozgur