On Sun, Jan 9, 2011 at 6:11 PM, Jon Harrop
<jonathandeanharrop@googlemail.com> wrote:
Brian Hurt wrote:
> Unless there is some other driver to keep things pure even while being
> strict. And I would argue there is- concurrency. Concurrency has a
> lot
> of similarities with laziness, in that the ordering of computations can
> be
> (and often is) undefined, with all the fun that entails. Haskell is
> really good at multithreaded because it has already "paid the price" of
> dealing with asynchronous computations.
I agree except for "Haskell is really good at multithreaded" because, space
leaks aside, getting Haskell to force lazy computations at the necessary
times to take advantage of multithreading is usually a nightmare.
I think the lesson to learn there is that there is no simple evaluation strategy
that is good for all architectures.
Best,