Obtaining coroutines with continuations
Computer Languages
A syntactic theory of sequential control
Theoretical Computer Science
Abstract continuations: a mathematical semantics for handling full jumps
LFP '88 Proceedings of the 1988 ACM conference on LISP and functional programming
The theory and practice of first-class prompts
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Computational lambda-calculus and monads
Proceedings of the Fourth Annual Symposium on Logic in computer science
Control delimiters and their hierarchies
Lisp and Symbolic Computation
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
Reasoning with continuations II: full abstraction for models of control
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
On the expressive power of programming languages
Proceedings of the third European symposium on programming on ESOP '90
A formulae-as-type notion of control
POPL '90 Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
PPOPP '90 Proceedings of the second ACM SIGPLAN symposium on Principles & practice of parallel programming
The revised report on the syntactic theories of sequential control and state
Theoretical Computer Science
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Monads and composable continuations
Lisp and Symbolic Computation
Lisp and Symbolic Computation
A generalization of exceptions and control in ML-like languages
FPCA '95 Proceedings of the seventh international conference on Functional programming languages and computer architecture
A Curry-Howard foundation for functional computation with control
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
Theoretical Computer Science
A Syntactic Theory of Dynamic Binding
Higher-Order and Symbolic Computation
Unchecked Exceptions Can Be Strictly More Powerful Than Call/CC
Higher-Order and Symbolic Computation
Continuation-Based Multiprocessing
Higher-Order and Symbolic Computation
Comparing Control Constructs by Double-Barrelled CPS
Higher-Order and Symbolic Computation
Proceedings of the Third International Conference on Logic Programming
Lambda-My-Calculus: An Algorithmic Interpretation of Classical Natural Deduction
LPAR '92 Proceedings of the International Conference on Logic Programming and Automated Reasoning
Extracting Constructive Content from Classical Logic via Control-like Reductions
TLCA '93 Proceedings of the International Conference on Typed Lambda Calculi and Applications
Partial Continuations as the Difference of Continuations - A Duumvirate of Control Operators
PLILP '94 Proceedings of the 6th International Symposium on Programming Language Implementation and Logic Programming
Declarative Continuations: an Investigation of Duality in Programming Language Semantics
Category Theory and Computer Science
Proceedings of ACM conference on Proving assertions about programs
A sound and complete axiomatization of delimited continuations
ICFP '03 Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
A type-theoretic foundation of continuations and prompts
Proceedings of the ninth ACM SIGPLAN international conference on Functional programming
A Formulae-as-Types Interpretation of Subtractive Logic
Journal of Logic and Computation
Control reduction theories: The benefit of structural substitution
Journal of Functional Programming
Minimal classical logic and control operators
ICALP'03 Proceedings of the 30th international conference on Automata, languages and programming
An approach to call-by-name delimited continuations
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
On the Relations between the Syntactic Theories of λμ-Calculi
CSL '08 Proceedings of the 22nd international workshop on Computer Science Logic
Typing streams in the Λμ-calculus
ACM Transactions on Computational Logic (TOCL)
Classical call-by-need and duality
TLCA'11 Proceedings of the 10th international conference on Typed lambda calculi and applications
A systematic approach to delimited control with multiple prompts
ESOP'12 Proceedings of the 21st European conference on Programming Languages and Systems
Proceedings of the 18th ACM SIGPLAN international conference on Functional programming
Hi-index | 0.00 |
There is a correspondence between classical logic and programming language calculi with first-class continuations. With the addition of control delimiters, the continuations become composable and the calculi become more expressive. We present a fine-grained analysis of control delimiters and formalise that their addition corresponds to the addition of a single dynamically-scoped variable modelling the special top-level continuation. From a type perspective, the dynamically-scoped variable requires effect annotations. In the presence of control, the dynamically-scoped variable can be interpreted in a purely functional way by applying a store-passing style. At the type level, the effect annotations are mapped within standard classical logic extended with the dual of implication, namely subtraction. A continuation-passing-style transformation of lambda-calculus with control and subtraction is defined. Combining the translations provides a decomposition of standard CPS transformations for delimited continuations. Incidentally, we also give a direct normalisation proof of the simply-typed lambda-calculus with control and subtraction.