AbstractLazy 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-by-need 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-fly needed partial evaluation. This gives a clear, formal and implementation-independent operational semantics to completely lazy evaluation, in a natu...
We address the problem of producing a trace of the evaluation of a program written in a lazy functio...
AbstractIn this work we provide a semantic description of functional logic languages covering notion...
Lazy functional programming languages need lazy assertions to ensure that assertions preserve the me...
AbstractLazy evaluation (or call-by-need) is widely used and well understood, partly thanks to a cle...
Call-by-need evaluation, also known as lazy evaluation, provides two key benefits: compositional pro...
AbstractFrom a theoretical point of view, lazy evaluation corresponds to the call-by-name evaluation...
We give an axiomatic presentation of sharing-via-labelling for weak lambda-calculi, that allows to f...
AbstractIn lazy functional languages, any variable is evaluated at most once. This paper proposes th...
In his seminal paper Natural Semantics for Lazy Evaluation [Lau93], John Launchbury proves his sema...
This paper presents a big-step operational semantics for distributed lazy evaluation. Our semantics ...
AbstractAmong all the reduction strategies for the untyped λ-calculus, the so called lazy β-evaluati...
AbstractStarting from the standard call-by-need reduction for the λ-calculus that is common to Ariol...
AbstractLaziness restricts the exploitation of parallelism because expressions are evaluated only on...
AbstractThere are several proposals for extending Prolog with functional capabilities. The basic ide...
AbstractA denotational semantics for the λ-calculus is described. The semantics is continuation-base...
We address the problem of producing a trace of the evaluation of a program written in a lazy functio...
AbstractIn this work we provide a semantic description of functional logic languages covering notion...
Lazy functional programming languages need lazy assertions to ensure that assertions preserve the me...
AbstractLazy evaluation (or call-by-need) is widely used and well understood, partly thanks to a cle...
Call-by-need evaluation, also known as lazy evaluation, provides two key benefits: compositional pro...
AbstractFrom a theoretical point of view, lazy evaluation corresponds to the call-by-name evaluation...
We give an axiomatic presentation of sharing-via-labelling for weak lambda-calculi, that allows to f...
AbstractIn lazy functional languages, any variable is evaluated at most once. This paper proposes th...
In his seminal paper Natural Semantics for Lazy Evaluation [Lau93], John Launchbury proves his sema...
This paper presents a big-step operational semantics for distributed lazy evaluation. Our semantics ...
AbstractAmong all the reduction strategies for the untyped λ-calculus, the so called lazy β-evaluati...
AbstractStarting from the standard call-by-need reduction for the λ-calculus that is common to Ariol...
AbstractLaziness restricts the exploitation of parallelism because expressions are evaluated only on...
AbstractThere are several proposals for extending Prolog with functional capabilities. The basic ide...
AbstractA denotational semantics for the λ-calculus is described. The semantics is continuation-base...
We address the problem of producing a trace of the evaluation of a program written in a lazy functio...
AbstractIn this work we provide a semantic description of functional logic languages covering notion...
Lazy functional programming languages need lazy assertions to ensure that assertions preserve the me...