[Haskell-cafe] strict, lazy, non-strict, eager
Jon Fairbairn
jon.fairbairn at cl.cam.ac.uk
Wed Dec 28 16:23:47 CET 2011
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.
* 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 at cl.cam.ac.uk
More information about the Haskell-Cafe
mailing list