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
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
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Revised Report on the Algorithmic Language Scheme
Higher-Order and Symbolic Computation
Definitional Interpreters Revisited
Higher-Order and Symbolic Computation
Definitional Interpreters for Higher-Order Programming Languages
Higher-Order and Symbolic Computation
Memoization in Type-Directed Partial Evaluation
GPCE '02 Proceedings of the 1st ACM SIGPLAN/SIGSOFT conference on Generative Programming and Component Engineering
Normalization and Partial Evaluation
Applied Semantics, International Summer School, APPSEM 2000, Caminha, Portugal, September 9-15, 2000, Advanced Lectures
A functional correspondence between evaluators and abstract machines
Proceedings of the 5th ACM SIGPLAN international conference on Principles and practice of declaritive programming
A sound and complete axiomatization of delimited continuations
ICFP '03 Proceedings of the eighth ACM SIGPLAN international conference on 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)
A monadic framework for delimited continuations
Journal of Functional Programming
A static simulation of dynamic delimited control
Higher-Order and Symbolic Computation
Proceedings of the 14th ACM SIGPLAN international conference on Functional programming
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
A substructural type system for delimited continuations
TLCA'07 Proceedings of the 8th international conference on Typed lambda calculi and applications
Delimited continuations in operating systems
CONTEXT'07 Proceedings of the 6th international and interdisciplinary conference on Modeling and using context
Polymorphic delimited continuations
APLAS'07 Proceedings of the 5th Asian conference on Programming languages and systems
A systematic approach to delimited control with multiple prompts
ESOP'12 Proceedings of the 21st European conference on Programming Languages and Systems
Hi-index | 0.00 |
We present a type system with subtyping for first-class delimited continuations that generalizes Danvy and Filinski's type system for shift and reset by maintaining explicit information about the types of contexts in the metacontext. We exploit this generalization by considering the control operators known as shift0 and reset0 that can access arbitrary contexts in the metacontext. We use subtyping to control the level of information about the metacontext the expression actually requires and in particular to coerce pure expressions into effectful ones. For this type system we prove strong type soundness and termination of evaluation and we present a provably correct type reconstruction algorithm. We also introduce two CPS translations for shift0 and reset0: one targeting the untyped lambda calculus, and another - type-directed - targeting the simply-typed lambda calculus. The latter translation preserves typability and is selective in that it keeps pure expressions in direct style.