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, 

--
Eray Ozkural, PhD candidate.  Comp. Sci. Dept., Bilkent University, Ankara
http://groups.yahoo.com/group/ai-philosophy
http://myspace.com/arizanesil http://myspace.com/malfunct