
(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
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
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@cl.cam.ac.uk