• Publications
  • Influence
A concrete framework for environment machines
tl;dr
We materialize the common understanding that calculi with explicit substitutions provide an intermediate step between an abstract specification of substitution in the lambda-calculus and its concrete implementations. Expand
  • 82
  • 11
  • Open Access
An Operational Foundation for Delimited Continuations in the CPS Hierarchy
tl;dr
We present an abstract machine and reduction semantics for the lambda-calculus extended with control operators that give access to delimited continuations in the CPS hierarchy. Expand
  • 87
  • 5
  • Open Access
A syntactic correspondence between context-sensitive calculi and abstract machines
tl;dr
We present a systematic construction of environment-based abstract machines from context-sensitive calculi of explicit substitutions, and we illustrate it with ten calculi and machines for applicative order with an abort operation, normal order with generalized reduction and call/cc, lambda-mu-calculus, delimited continuations, stack inspection, proper tail-recursion, and lazy evaluation. Expand
  • 63
  • 5
  • Open Access
Context-based proofs of termination for typed delimited-control operators
tl;dr
We present direct proofs of termination of evaluation for typed delimited-control operators shift and reset using a variant of Tait's method with context-based reducibility predicates. Expand
  • 12
  • 3
  • Open Access
An Operational Foundation for Delimited Continuations
We derive an abstract machine that corresponds to a definitional interpreter for the control operators shift and reset. Based on this abstract machine, we construct a syntactic theory of delimitedExpand
  • 29
  • 2
  • Open Access
A Syntactic Correspondence between Context-Sensitive Calculi and Abstract Machines
We present a systematic construction of environment-based abstract machines from context-sensitive calculi of explicit substitutions, and we illustrate it with ten calculi and machines forExpand
  • 28
  • 2
Automating Derivations of Abstract Machines from Reduction Semantics: - A Generic Formalization of Refocusing in Coq
tl;dr
We present a generic formalization of the refocusing transformation for functional languages in the Coq proof assistant. Expand
  • 13
  • 1
  • Open Access
Typing control operators in the CPS hierarchy
tl;dr
The CPS hierarchy of Danvy and Filinski is a hierarchy of continuations that allows for expressing nested control effects characteristic of, e.g., non-deterministic programming or certain instances of normalization by evaluation. Expand
  • 7
  • 1
  • Open Access
Program Extraction From Proofs of Weak Head Normalization
tl;dr
We formalize two proofs of weak head normalization for the simply typed lambda-calculus in first-order minimal logic: one for normal-order reduction, and one for applicative order reduction in the object language. Expand
  • 16
  • Open Access
Towards Compatible and Interderivable Semantic Specifications for the Scheme Programming Language, Part II: Reduction Semantics and Abstract Machines
tl;dr
We present a context-sensitive reduction semantics for a lambda-calculus with explicit substitutions and show that the functional implementation of this small-step semantics mechanically corresponds to that of the abstract machine for Core Scheme presented by Clinger at PLDI'98, including first-class continuations. Expand
  • 11
  • Open Access