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 23 (16 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 continuation-passing 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 caller-save rather than the callee-save convention for environments. We also identify that the dump component of the SECD machine is managed in a callee-save way. The caller-save 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 delimited-control 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 call-by-name -calculus, the usual call-by-value -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 call-by-name -calculus, the usual call-by-value -calculus, and many other -calculi such as the g -calculus[3], the v hd -calculus[5], etc. We prove the Church-Rosser 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 run-time code generation for functional programming languages. Definition1. We use the following for -terms and contexts: (terms) L; M;N ::= x j ...
Development Separation in Lambda-Calculus
- WOLLIC 2005
, 2005
"... We present a proof technique in *-calculus that can facilitate inductive reasoning on *-terms by separating certain fi-developments from other fi-reductions. We give proofs based on this technique for several fundamental theorems in *-calculus such as the Church-Rosser theorem, the standardization ..."
Abstract
- Add to MetaCart
We present a proof technique in *-calculus that can facilitate inductive reasoning on *-terms by separating certain fi-developments from other fi-reductions. We give proofs based on this technique for several fundamental theorems in *-calculus such as the Church-Rosser theorem, the standardization theorem, the conservation theorem and the normalization theorem. The appealing features of these proofs lie in their inductive styles and perspicuities.

