[Haskell-cafe] strict, lazy, non-strict, eager

Jon Fairbairn jon.fairbairn at cl.cam.ac.uk
Mon Jan 9 12:01:01 CET 2012

wren ng thornton <wren at freegeek.org> writes:

> On 12/28/11 10:23 AM, Jon Fairbairn wrote:
>> Thiago Negri<evohunz at gmail.com>  writes:
>>> Lazy evaluation is one implementation of non-strict semantics, where
>>> the arguments are evaluated only when they are needed.
>> I would say this:
>> * non-strict semantics require that no argument is evaluated
>>    unless needed.
> I'm not sure that's quite right.

I’m sure it’s not right (as was pointed out a while ago). I was
in too much of a hurry to get to the next bit, namely giving a
description of the difference between non-strict and lazy.
Perhaps what I should have said to be almost as succinct but
this time accurate is “non-strict semantics requires that the
evaluation strategy terminate if there is any evaluation
strategy that terminates”?

Jón Fairbairn                                 Jon.Fairbairn at cl.cam.ac.uk

More information about the Haskell-Cafe mailing list