[Haskell-cafe] Two questions: lazy evaluation and Church-Rosser

Ben Rudiak-Gould Benjamin.Rudiak-Gould at cl.cam.ac.uk
Sat Nov 19 12:41:05 EST 2005


Gregory Woodhouse wrote:
> I've been trying to do some background reading on lambda calculus, and
> have found discussions of strict evaluation strategies (call-by-value and
> call-by-name) but have yet to find an appropriate framework for modeling
> lazy evaluation

Just wanted to point out that call-by-name is non-strict. Lazy
evaluation is basically just call-by-name with extra sharing; if you only
care about semantics and not time/space behavior, it's the same as call-by-name.

> (much less infinite lists and comprehensions).

In a lazy or call-by-name operational semantics, you never get infinite 
lists, just lists with unevaluated tails which get "unwrapped" as needed.

List comprehensions in Haskell are syntactic sugar. The Haskell 98 report 
explains how to transform them away.

-- Ben


More information about the Haskell-Cafe mailing list