Call-by-need evaluation, also known as lazy evaluation, provides two key benefits: compositional programming and infinite data. The standard semantics for laziness is Launchbury’s natural semantics, which uses a heap to memoise the results of delayed evaluations. However, the stateful nature of this heap greatly complicates reasoning about the operational behaviour of lazy programs. In this article, we propose an alternative semantics for laziness, clairvoyant evaluation, that replaces the state effect with nondeterminism, and prove this semantics equivalent in a strong sense to the standard semantics. We show how this new semantics greatly simplifies operational reasoning, admitting much simpler proofs of a number of results from the liter...
Abstract. Starting from the standard call-by-need reduction for the λ-calculus that is common to Ari...
AbstractWe discuss the use of the lazy evaluation scheme as coding tool in some algebraic manipulati...
We present the first operational account of call by need that con-nects syntactic theory and impleme...
AbstractLazy evaluation (or call-by-need) is widely used and well understood, partly thanks to a cle...
AbstractFrom a theoretical point of view, lazy evaluation corresponds to the call-by-name evaluation...
This paper presents a big-step operational semantics for distributed lazy evaluation. Our semantics ...
AbstractIn lazy functional languages, any variable is evaluated at most once. This paper proposes th...
AbstractStarting from the standard call-by-need reduction for the λ-calculus that is common to Ariol...
In his seminal paper Natural Semantics for Lazy Evaluation [Lau93], John Launchbury proves his sema...
Many programs are executed according to the conventional, eager execution order, for which verificat...
Lazy functional programming languages need lazy assertions to ensure that assertions preserve the me...
We address the problem of producing a trace of the evaluation of a program written in a lazy functio...
AbstractLaziness restricts the exploitation of parallelism because expressions are evaluated only on...
In this paper we argue for the importance of lazy state, that is, sequences of imperative (destructi...
Machine Peter Sestoft Department of Mathematics and Physics Royal Veterinary and Agricultural Univ...
Abstract. Starting from the standard call-by-need reduction for the λ-calculus that is common to Ari...
AbstractWe discuss the use of the lazy evaluation scheme as coding tool in some algebraic manipulati...
We present the first operational account of call by need that con-nects syntactic theory and impleme...
AbstractLazy evaluation (or call-by-need) is widely used and well understood, partly thanks to a cle...
AbstractFrom a theoretical point of view, lazy evaluation corresponds to the call-by-name evaluation...
This paper presents a big-step operational semantics for distributed lazy evaluation. Our semantics ...
AbstractIn lazy functional languages, any variable is evaluated at most once. This paper proposes th...
AbstractStarting from the standard call-by-need reduction for the λ-calculus that is common to Ariol...
In his seminal paper Natural Semantics for Lazy Evaluation [Lau93], John Launchbury proves his sema...
Many programs are executed according to the conventional, eager execution order, for which verificat...
Lazy functional programming languages need lazy assertions to ensure that assertions preserve the me...
We address the problem of producing a trace of the evaluation of a program written in a lazy functio...
AbstractLaziness restricts the exploitation of parallelism because expressions are evaluated only on...
In this paper we argue for the importance of lazy state, that is, sequences of imperative (destructi...
Machine Peter Sestoft Department of Mathematics and Physics Royal Veterinary and Agricultural Univ...
Abstract. Starting from the standard call-by-need reduction for the λ-calculus that is common to Ari...
AbstractWe discuss the use of the lazy evaluation scheme as coding tool in some algebraic manipulati...
We present the first operational account of call by need that con-nects syntactic theory and impleme...