<div dir="ltr">On Wed, Aug 31, 2011 at 03:39, Eric Y. Kow <span dir="ltr">&lt;<a href="mailto:eric@well-typed.com">eric@well-typed.com</a>&gt;</span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
(Food for thought: why `parList rseq` instead of `parList r0`?<br>
Reply to the Haskell-Cafe posting if you think you know why!)<br></blockquote><div><br></div><div>Because with `r0` you&#39;re liable to just parallel evaluate to the thunk containing the computation you&#39;re trying to parallelize, and the actual computation then takes place later *outside* the parallel section?  (That is, what comes out of parList is a list of the thunks passed to `r0`, otherwise unevaluated.  You wrapped them in an `id` and then parallel evaluated the `id` away, real useful that. :)  You need to go at least to WHNF, then it comes down to the strictness specified in what&#39;s passed to `rseq`.</div>
<div><br></div><div>-- </div></div>brandon s allbery                                      <a href="mailto:allbery.b@gmail.com" target="_blank">allbery.b@gmail.com</a><br>wandering unix systems administrator (available)     (412) 475-9364 vm/sms<br>
<br>
</div>