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
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Type-directed partial evaluation
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Online partial evaluation for shift and reset
PEPM '02 Proceedings of the 2002 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation
Program Extraction from Normalization Proofs
TLCA '93 Proceedings of the International Conference on Typed Lambda Calculi and Applications
Normalization and Partial Evaluation
Applied Semantics, International Summer School, APPSEM 2000, Caminha, Portugal, September 9-15, 2000, Advanced Lectures
The calculi of lambda-nu-cs conversion: a syntactic theory of control and state in imperative higher-order programming languages
A sound and complete axiomatization of delimited continuations
ICFP '03 Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
Intuitionistic model constructions and normalization proofs
Mathematical Structures in Computer Science
Combinators for program generation
Journal of Functional Programming
Offline partial evaluation for shift and reset
Proceedings of the 2004 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Backtracking, interleaving, and terminating monad transformers: (functional pearl)
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
On the static and dynamic extents of delimited continuations
Science of Computer Programming
A proof-theoretic foundation of abortive continuations
Higher-Order and Symbolic Computation
An approach to call-by-name delimited continuations
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Defunctionalized interpreters for programming languages
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
Polymorphic delimited continuations
APLAS'07 Proceedings of the 5th Asian conference on Programming languages and systems
Equational axiomatization of call-by-name delimited control
Proceedings of the 12th international ACM SIGPLAN symposium on Principles and practice of declarative programming
Typing control operators in the CPS hierarchy
Proceedings of the 13th international ACM SIGPLAN symposium on Principles and practices of declarative programming
Subtyping delimited continuations
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
Applicative bisimulations for delimited-control operators
FOSSACS'12 Proceedings of the 15th international conference on Foundations of Software Science and Computational Structures
FLOPS'12 Proceedings of the 11th international conference on Functional and Logic Programming
Hi-index | 0.00 |
We present direct proofs of termination of evaluation for typed delimited-control operators shift and reset using a variant of Tait's method with context-based reducibility predicates. We address both call by value and call by name, and for each reduction strategy we consider a type-and-effect system a la Danvy and Filinski as well as a system with a fixed answer type. The call-by-value type-and-effect system we present is a refinement of Danvy and Filinski's original type system, whereas the call-by-name type-and-effect system is new. From the normalization proofs, we extract call-by-value and call-by-name evaluators in continuation-passing style with two layers of continuations; by construction, these evaluators are instances of normalization by evaluation.