The theory and practice of first-class prompts
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
Typing first-class continuations in ML
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Automatic autoprojection of recursive equations with global variable and abstract data types
Science of Computer Programming
Reasoning about programs in continuation-passing style.
LFP '92 Proceedings of the 1992 ACM conference on LISP and functional programming
Back to direct style II: first-class continuations
LFP '92 Proceedings of the 1992 ACM conference on LISP and functional programming
Partial evaluation and automatic program generation
Partial evaluation and automatic program generation
The essence of compiling with continuations
PLDI '93 Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
Topics in online partial evaluation
Topics in online partial evaluation
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
ESOP'92 Selected papers of the symposium on Fourth European symposium on programming
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
Duplication and partial evaluation: for a better understanding of reflective languages
Lisp and Symbolic Computation - Special issue on computational reflection
Proceedings of the first ACM SIGPLAN international conference on Functional programming
Revised Report on the Algorithmic Language Scheme
Higher-Order and Symbolic Computation
Partial Evaluation of Computation Process—AnApproach to a Compiler-Compiler
Higher-Order and Symbolic Computation
A New Approach to Abstract Syntax Involving Binders
LICS '99 Proceedings of the 14th Annual IEEE Symposium on Logic in Computer Science
Combinators for program generation
Journal of Functional Programming
A sound and complete axiomatization of delimited continuations
ICFP '03 Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
Offline partial evaluation for shift and reset
Proceedings of the 2004 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Axioms for control operators in the CPS hierarchy
Higher-Order and Symbolic Computation
Closing the stage: from staged code to typed closures
PEPM '08 Proceedings of the 2008 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Context-based proofs of termination for typed delimited-control operators
PPDP '09 Proceedings of the 11th ACM SIGPLAN conference on Principles and practice of declarative programming
Hi-index | 0.00 |
This paper presents an online partial evaluator for the &lgr;-calculus with the delimited continuation constructs shift and reset. We first give the semantics of the delimited continuation constructs in two ways: one by writing a continuation passing style (CPS) interpreter and the other by transforming them into CPS. We then combine them to obtain a partial evaluator written in CPS which produces the result in CPS. By transforming this partial evaluator back into a direct style (DS) in two steps, we obtain a DS to DS partial evaluator written in DS. The correctness of the partial evaluator is not yet formally proven. The difficulty comes from the fact that the partial evaluator is written using shift and reset. The method for reasoning about such programs is not yet established. However, the development of the partial evaluator is detailed in the paper to give a degree of confidence that it behaves as we expect.