Results 1 
8 of
8
A firstorder onepass CPS transformation
, 2003
"... We present a new transformation ofterms into continuationpassing style (CPS). This transformation operates in one pass and is both compositional and firstorder. Previous CPS transformations only enjoyed two out of the three properties of being firstorder, onepass, and compositional, but the new ..."
Abstract

Cited by 25 (9 self)
 Add to MetaCart
We present a new transformation ofterms into continuationpassing style (CPS). This transformation operates in one pass and is both compositional and firstorder. Previous CPS transformations only enjoyed two out of the three properties of being firstorder, onepass, and compositional, but the new transformation enjoys all three properties. It is proved correct directly by structural induction over source terms instead of indirectly with a colon translation, as in Plotkin’s original proof. Similarly, it makes it possible to reason about CPStransformed terms by structural induction over source terms, directly. The new CPS transformation connects separately published approaches to the CPS transformation. It has already been used to state a new and simpler correctness proof of a directstyle transformation, and to develop a new and simpler CPS transformation of controlflow information.
Refocusing in Reduction Semantics
, 2004
"... The evaluation function of a reduction semantics (i.e., a smallstep operational semantics with an explicit representation of the reduction context) is canonically defined as the transitive closure of (1) decomposing a term into a reduction context and a redex, (2) contracting this redex, and (3) ..."
Abstract

Cited by 13 (4 self)
 Add to MetaCart
The evaluation function of a reduction semantics (i.e., a smallstep operational semantics with an explicit representation of the reduction context) is canonically defined as the transitive closure of (1) decomposing a term into a reduction context and a redex, (2) contracting this redex, and (3) plugging the contractum in the context. Directly implementing this evaluation function therefore yields an interpreter with a worstcase overhead, for each step, that is linear in the size of the input term. We present
A Substructural Type System for Delimited Continuations
"... We propose type systems that abstractly interpret smallstep rather than bigstep operational semantics. We treat an expression or evaluation context as a structure in a linear logic with hypothetical reasoning. Evaluation order is not only regulated by familiar focusing rules in the operational sem ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
(Show Context)
We propose type systems that abstractly interpret smallstep rather than bigstep operational semantics. We treat an expression or evaluation context as a structure in a linear logic with hypothetical reasoning. Evaluation order is not only regulated by familiar focusing rules in the operational semantics, but also expressed by structural rules in the type system, so the types track control flow more closely. Binding and evaluation contexts are related, but the latter are linear. We use these ideas to build a type system for delimited continuations. It lets control operators change the answer type or act beyond the nearest dynamicallyenclosing delimiter, yet needs no extra fields in judgments and arrow types to record answer types. The typing derivation of a directstyle program desugars it into continuationpassing style.
A Typed Calculus Supporting Shallow Embeddings of Abstract Machines
, 2005
"... The goal of this work is to draw a formal connection between steps taken by abstract machines and reductions in a system of proof terms for a version the sequent calculus. We believe that by doing so we shed light on some essential characteristics of abstract machines, proofs in sequent calculus sys ..."
Abstract
 Add to MetaCart
(Show Context)
The goal of this work is to draw a formal connection between steps taken by abstract machines and reductions in a system of proof terms for a version the sequent calculus. We believe that by doing so we shed light on some essential characteristics of abstract machines, proofs in sequent calculus systems, and weak normalization of λterms. The machines that we consider are the (callbyname) Krivine machine and a callbyvalue machine that may be called a “righttoleft CEK machine ” but with some modifications can be seen as a protoZINC machine. The formal connection we exhibit is, in fact, an embedding of the machines into the term calculus. We embed runtime data structures, such as the control stack and environment, in such a way that the operational semantics of the machine corresponds to reduction steps in the calculus. The abstract machine machine transitions are captured as term reductions. This is in contrast to specifying the operational semantics on top of the
This document in subdirectoryRS/01/49/ A FirstOrder OnePass CPS Transformation ∗
"... ..."
(Show Context)