Hello Neil,

Tuesday, April 7, 2009, 7:33:25 PM, you wrote:
>> How about using unsafeInterleaveIO to get a lazy suspension of the result of 
>> each action,
>>  and then using par to spark off each of them? If that works you can reuse 
>> the existing
>> task-parallel system of GHC to do the heavily lifting for you, instead of 
>> having to write your
>> own.

> par is likely to spark all the computations, and then switch between
> them - which will mean I've got more than N things running in
> parallel.

par/GHC RTS limits amount of Haskell threads running simultaneously.
with a system call marked as safe, Capability will be freed while we
execute external program so nothing will be limited except for amount
of tasks *starting* (as opposite to running) simultaneously :)))


-- 
Best regards,
 Bulat                            mailto:[email protected]

_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to