Sciweavers

ENTCS
2008

Complete Laziness: a Natural Semantics

13 years 11 months ago
Complete Laziness: a Natural Semantics
Lazy evaluation (or call-by-need) is widely used and well understood, partly thanks to a clear operational semantics given by Launchbury. However, modern non-strict functional languages do not use plain call-byneed evaluation: they also use optimisations like fully lazy -lifting or partial evaluation. To ease reasoning, it would be nice to have all these features in a uniform setting. In this paper, we generalise Launchbury's semantics in order to capture complete laziness, as coined by Holst and Gomard in 1991, which is slightly more than fully lazy sharing, and closer to on-the-y needed partial evaluation. This gives a clear, formal and implementation-independent operational semantics to completely lazy evaluation, in a natural (or bigstep) style similar to Launchbury's. Surprisingly, this requires sharing not only terms, but also contexts, a property which was thought to characterise optimal reduction.
François-Régis Sinot
Added 10 Dec 2010
Updated 10 Dec 2010
Type Journal
Year 2008
Where ENTCS
Authors François-Régis Sinot
Comments (0)