POPL '90 Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
An abstract frame work for environment machines
Theoretical Computer Science
Proper tail recursion and space efficiency
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
A Foreword to ‘Fundamental Concepts in ProgrammingLanguages’
Higher-Order and Symbolic Computation
Fundamental Concepts in Programming Languages
Higher-Order and Symbolic Computation
Higher-Order and Symbolic Computation
Continuations: A Mathematical Semantics for Handling FullJumps
Higher-Order and Symbolic Computation
The calculi of lambda-nu-cs conversion: a syntactic theory of control and state in imperative higher-order programming languages
Making a fast curry: push/enter vs. eval/apply for higher-order languages
Journal of Functional Programming
A syntactic correspondence between context-sensitive calculi and abstract machines
Theoretical Computer Science
A concrete framework for environment machines
ACM Transactions on Computational Logic (TOCL)
Information Processing Letters
From reduction-based to reduction-free normalization
AFP'08 Proceedings of the 6th international conference on Advanced functional programming
IFL'10 Proceedings of the 22nd international conference on Implementation and application of functional languages
Hi-index | 0.00 |
We present a context-sensitive reduction semantics for a lambda-calculus with explicit substitutions and we 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. Starting from this reduction semantics, (1) we refocus it into a small-step abstract machine; (2) we fuse the transition function of this abstract machine with its driver loop, obtaining a big-step abstract machine which is staged; (3) we compress its corridor transitions, obtaining an eval/continue abstract machine; and (4) we unfold its ground closures, which yields an abstract machine that essentially coincides with Clinger's machine. This lambda-calculus with explicit substitutions therefore aptly accounts for Core Scheme, including Clinger's permutations and unpermutations.