Results 1 
4 of
4
A rational deconstruction of Landin’s SECD machine
 Implementation and Application of Functional Languages, 16th International Workshop, IFL’04, number 3474 in Lecture Notes in Computer Science
, 2004
"... Abstract. Landin’s SECD machine was the first abstract machine for applicative expressions, i.e., functional programs. Landin’s J operator was the first control operator for functional languages, and was specified by an extension of the SECD machine. We present a family of evaluation functions corre ..."
Abstract

Cited by 27 (19 self)
 Add to MetaCart
Abstract. Landin’s SECD machine was the first abstract machine for applicative expressions, i.e., functional programs. Landin’s J operator was the first control operator for functional languages, and was specified by an extension of the SECD machine. We present a family of evaluation functions corresponding to this extension of the SECD machine, using a series of elementary transformations (transformation into continuationpassing style (CPS) and defunctionalization, chiefly) and their left inverses (transformation into direct style and refunctionalization). To this end, we modernize the SECD machine into a bisimilar one that operates in lockstep with the original one but that (1) does not use a data stack and (2) uses the callersave rather than the calleesave convention for environments. We also identify that the dump component of the SECD machine is managed in a calleesave way. The callersave counterpart of the modernized SECD machine precisely corresponds to Thielecke’s doublebarrelled continuations and to Felleisen’s encoding of J in terms of call/cc. We then variously characterize the J operator in terms of CPS and in terms of delimitedcontrol operators in the CPS hierarchy. As a byproduct, we also present several reduction semantics for applicative expressions
Generalized λCalculi (Abstract)
"... ) Hongwei Xi Department of Mathematical Sciences, Carnegie Mellon University, Pittsburgh, PA 15213, USA email: hwxi@cs.cmu.edu Fax: +1 412 268 6380 We propose a notion of generalized calculi, which include the usual callbyname calculus, the usual callbyvalue calculus, and many other calc ..."
Abstract
 Add to MetaCart
) Hongwei Xi Department of Mathematical Sciences, Carnegie Mellon University, Pittsburgh, PA 15213, USA email: hwxi@cs.cmu.edu Fax: +1 412 268 6380 We propose a notion of generalized calculi, which include the usual callbyname calculus, the usual callbyvalue calculus, and many other calculi such as the g calculus[3], the v hd calculus[5], etc. We prove the ChurchRosser theorem and the standardization theorem for these generalized calculi. The normalization theorem then follows, which enables us to define evaluation functions for the generalized calculi. Our proof technique mainly establishes on the notion of separating developments[4], yielding intuitive and clean inductive proofs. This work aims at providing a solid foundation for evaluation under abstraction, a notion which is pervasive in both partial evaluation and runtime code generation for functional programming languages. Definition1. We use the following for terms and contexts: (terms) L; M;N ::= x j ...
Development Separation in LambdaCalculus
 WOLLIC 2005
, 2005
"... We present a proof technique in *calculus that can facilitate inductive reasoning on *terms by separating certain fidevelopments from other fireductions. We give proofs based on this technique for several fundamental theorems in *calculus such as the ChurchRosser theorem, the standardization ..."
Abstract
 Add to MetaCart
We present a proof technique in *calculus that can facilitate inductive reasoning on *terms by separating certain fidevelopments from other fireductions. We give proofs based on this technique for several fundamental theorems in *calculus such as the ChurchRosser theorem, the standardization theorem, the conservation theorem and the normalization theorem. The appealing features of these proofs lie in their inductive styles and perspicuities.