We bridge the gap between functional evaluators and abstract machines for the lambda-calculus, using closure conversion, transformation into continuation-passing style, and defunctionalization of continuations. We illustrate this bridge by deriving Krivine's abstract machine from an ordinary call-by-name evaluator and by deriving an ordinary call-by-value evaluator from Felleisen et al.'s CEK machine. The first derivation is strikingly simpler than what can be found in the literature. The second one is new. Together, they show that Krivine's abstract machine and the CEK machine correspond to the call-by-name and call-by-value facets of an ordinary evaluator for the lambda-calculus. We then reveal the denotational content of Hannan and Mill...
Turing machines and register machines have been used for decades in theoretical computer science as ...
Machine Peter Sestoft Department of Mathematics and Physics Royal Veterinary and Agricultural Univ...
Starting from a continuation-based interpreter for a simple logic programming language, propositiona...
We bridge the gap between compositional evaluators and abstract machines for the lambda-calculus, us...
We extend our correspondence between evaluators and abstract machines from the pure setting of the l...
We present a simple inter-derivation between lambda-interpreters, i.e., evaluation functions for lam...
Landin's SECD machine was the first abstract machine for the lambda-calculus viewed as a programmin...
AbstractWe extend our correspondence between evaluators and abstract machines from the pure setting ...
AbstractIn this paper we discuss and compare abstract machines for the lambda-calculus, implementing...
We present an abstract machine and a reduction semantics for the lambda-calculus extended with cont...
We materialize the common belief that calculi with explicit substitutions provide an intermediate st...
One of the goals of this paper is to demonstrate that denotational semantics is useful for operation...
International audienceA simple lazy machine which runs programs written in lambda-calculus. It was i...
Laboratory for Foundations of Computer ScienceThis thesis attempts to make precise the structure inh...
We present a systematic construction of environment-based abstract machines from context-sensitive c...
Turing machines and register machines have been used for decades in theoretical computer science as ...
Machine Peter Sestoft Department of Mathematics and Physics Royal Veterinary and Agricultural Univ...
Starting from a continuation-based interpreter for a simple logic programming language, propositiona...
We bridge the gap between compositional evaluators and abstract machines for the lambda-calculus, us...
We extend our correspondence between evaluators and abstract machines from the pure setting of the l...
We present a simple inter-derivation between lambda-interpreters, i.e., evaluation functions for lam...
Landin's SECD machine was the first abstract machine for the lambda-calculus viewed as a programmin...
AbstractWe extend our correspondence between evaluators and abstract machines from the pure setting ...
AbstractIn this paper we discuss and compare abstract machines for the lambda-calculus, implementing...
We present an abstract machine and a reduction semantics for the lambda-calculus extended with cont...
We materialize the common belief that calculi with explicit substitutions provide an intermediate st...
One of the goals of this paper is to demonstrate that denotational semantics is useful for operation...
International audienceA simple lazy machine which runs programs written in lambda-calculus. It was i...
Laboratory for Foundations of Computer ScienceThis thesis attempts to make precise the structure inh...
We present a systematic construction of environment-based abstract machines from context-sensitive c...
Turing machines and register machines have been used for decades in theoretical computer science as ...
Machine Peter Sestoft Department of Mathematics and Physics Royal Veterinary and Agricultural Univ...
Starting from a continuation-based interpreter for a simple logic programming language, propositiona...