POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The theory and practice of first-class prompts
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Reasoning about continuations with control effects
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
A formulae-as-type notion of control
POPL '90 Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
Typing first-class continuations in ML
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Compiling with continuations
Explicit polymorphism and CPS conversion
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Implementation of the typed call-by-value λ-calculus using a stack of regions
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Representing control in the presence of one-shot continuations
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
From system F to typed assembly language
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The Definition of Standard ML
The logical approach to stack typing
Proceedings of the 2003 ACM SIGPLAN international workshop on Types in languages design and implementation
Revised Report on the Algorithmic Language Scheme
Higher-Order and Symbolic Computation
Higher-Order and Symbolic Computation
A First-Order One-Pass CPS Transformation
FoSSaCS '02 Proceedings of the 5th International Conference on Foundations of Software Science and Computation Structures
FoSSaCS '02 Proceedings of the 5th International Conference on Foundations of Software Science and Computation Structures
Continuation Semantics in Typed Lambda-Calculi (Summary)
Proceedings of the Conference on Logic of Programs
Region Analysis and the Polymorphic Lambda Calculus
LICS '99 Proceedings of the 14th Annual IEEE Symposium on Logic in Computer Science
Rabbit: A Compiler for Scheme
Parametric polymorphism and operational equivalence
Mathematical Structures in Computer Science
A sound and complete axiomatization of delimited continuations
ICFP '03 Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
Relating models of backtracking
Proceedings of the ninth ACM SIGPLAN international conference on Functional programming
Frame rules from answer types for code pointers
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Axioms for control operators in the CPS hierarchy
Higher-Order and Symbolic Computation
Shifting the stage: staging with delimited control
Proceedings of the 2009 ACM SIGPLAN workshop on Partial evaluation and program manipulation
Journal of Functional Programming
Proceedings of the 14th ACM SIGPLAN international conference on Functional programming
On typing delimited continuations: three new solutions to the printf problem
Higher-Order and Symbolic Computation
A substructural type system for delimited continuations
TLCA'07 Proceedings of the 8th international conference on Typed lambda calculi and applications
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
An equivalence-preserving CPS translation via multi-language semantics
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
A theory of substructural types and control
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Shifting the stage: Staging with delimited control
Journal of Functional Programming
Polymorphic multi-stage language with control effects
APLAS'11 Proceedings of the 9th Asian conference on Programming Languages and Systems
FLOPS'12 Proceedings of the 11th international conference on Functional and Logic Programming
Functional semantics of parsing actions, and left recursion elimination as continuation passing
Proceedings of the 14th symposium on Principles and practice of declarative programming
Hi-index | 0.01 |
First-class continuations are a powerful computational effect, allowing the programmer to express any form of jumping. Types and effect systems can be used to reason about continuations, both in the source language and in the target language of the continuation-passing transform. In this paper, we establish the connection between an effect system for first-class continuations and typed versions of continuation-passing style. A region in the effect system determines a local answer type for continuations, such that the continuation transforms of pure expressions are parametrically polymorphic in their answer types. We use this polymorphism to derive transforms that make use of effect information, in particular, a mixed linear/non-linear continuation-passing transform, in which expressions without control effects are passed their continuations linearly.