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

Jon Fairbairn jon.fairbairn at cl.cam.ac.uk
Wed Jan 18 15:09:09 CET 2012

(I’m somewhat dismayed that the error in my preliminary remark
has overshadowed the point of my original message — which was
about the distinction between lazy and non-strict. However…)

David Barbour <dmbarbour at gmail.com> writes:
> Full beta-reduction is certainly not strict

What, precisely, do you mean by “full beta-reduction”?

> but also doesn't guarantee terminate even where it is possible
> (i.e. it might indefinitely unfold a value without making
> progress).

That sounds very much to me like being overly strict.

> I don't think there is much you can say about non-strictness
> and termination.

I would hope there would be, as that (or at least productivity)
is the point of saying that Haskell has non-strict semantics.

> On Mon, Jan 9, 2012 at 3:01 AM,
> Jon Fairbairn <jon.fairbairn at cl.cam.ac.uk> wrote:
>> 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