The theory and practice of first-class prompts
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Reasoning with continuations II: full abstraction for models of control
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
Notions of computation and monads
Information and Computation
On the expressive power of programming languages
ESOP '90 Selected papers from the symposium on 3rd European symposium on programming
Back to direct style II: first-class continuations
LFP '92 Proceedings of the 1992 ACM conference on LISP and functional programming
The discoveries of continuations
Lisp and Symbolic Computation - Special issue on continuations—part I
The Definition of Standard ML
The Java Language Specification
The Java Language Specification
Revised Report on the Algorithmic Language Scheme
Higher-Order and Symbolic Computation
A Generalization of Jumps and Labels
Higher-Order and Symbolic Computation
Using a Continuation Twice and Its Implications for the Expressive Power of call/cc
Higher-Order and Symbolic Computation
Unchecked Exceptions Can Be Strictly More Powerful Than Call/CC
Higher-Order and Symbolic Computation
STACS '87 Proceedings of the 4th Annual Symposium on Theoretical Aspects of Computer Science
Continuation Semantics in Typed Lambda-Calculi (Summary)
Proceedings of the Conference on Logic of Programs
Exceptions, Continuations and Macro-expressiveness
ESOP '02 Proceedings of the 11th European Symposium on Programming Languages and Systems
Program logics for sequential higher-order control
FSEN'09 Proceedings of the Third IPM international conference on Fundamentals of Software Engineering
Hi-index | 0.00 |
The most powerful control constructs in modern programming languages are continuations and exceptions. Although they can be used interchangeably in some cases, they are fundamentally different semantically. We consider two simply-typed functional languages with exceptions and continuations, respectively. We give two theorems, one that holds in the language with exceptions and one that holds in the language with continuations.A fortiori, these theorems imply that exception constructs cannot be used to macro-express continuation constructs, and that continuation constructs cannot be used to macro-express exception constructs.