
28 Dec
2011
28 Dec
'11
10:23 a.m.
Thiago Negri
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. * lazy evaluation is an implementation of non-strict semantics in which no argument is evaluated more than once. As an example of something other than lazy, normal order reduction is non-strict, but arguments may be evaluated multiple times. -- Jón Fairbairn Jon.Fairbairn@cl.cam.ac.uk