Programming in Prolog (2nd ed.)
Programming in Prolog (2nd ed.)
Performance and evaluation of LISP systems
Performance and evaluation of LISP systems
Obtaining coroutines with continuations
Computer Languages
Journal of Logic Programming
Abstracting timed preemption with engines
Computer Languages
The SCHEME programming language
The SCHEME programming language
Computer Languages
The definition of Standard ML
Representing control in the presence of first-class continuations
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
The spineless tagless G-machine
FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
CML: A higher concurrent language
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
A multi-threaded higher-order user interface toolkit
User interface software
An efficient implementation of multiple return values in Scheme
LFP '94 Proceedings of the 1994 ACM conference on LISP and functional programming
Register allocation using lazy saves, eager restores, and greedy shuffling
PLDI '95 Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation
Revised report on the algorithmic language scheme
ACM SIGPLAN Lisp Pointers
An Interpreter for Extended Lambda Calculus
An Interpreter for Extended Lambda Calculus
Lisp and Symbolic Computation
A single intermediate language that supports multiple implementations of exceptions
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
Final shift for call/cc:: direct implementation of shift and reset
Proceedings of the seventh ACM SIGPLAN international conference on Functional programming
From control effects to typed continuation passing
POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Implementation Strategies for First-Class Continuations
Higher-Order and Symbolic Computation
Higher-Order and Symbolic Computation
Sharing Continuations: Proofnets for Languages with Explicit Control
ESOP '00 Proceedings of the 9th European Symposium on Programming Languages and Systems
On Exceptions Versus Continuations in the Presence of State
ESOP '00 Proceedings of the 9th European Symposium on Programming Languages and Systems
The development of Chez Scheme
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
Proceedings of the third ACM SIGPLAN conference on History of programming languages
Manticore: a heterogeneous parallel language
Proceedings of the 2007 workshop on Declarative aspects of multicore programming
Why events are a bad idea (for high-concurrency servers)
HOTOS'03 Proceedings of the 9th conference on Hot Topics in Operating Systems - Volume 9
Design and semantics of quantum: a language to control resource consumption in distributed computing
DSL'97 Proceedings of the Conference on Domain-Specific Languages on Conference on Domain-Specific Languages (DSL), 1997
Lightweight concurrency primitives for GHC
Haskell '07 Proceedings of the ACM SIGPLAN workshop on Haskell workshop
Status report: the manticore project
ML '07 Proceedings of the 2007 workshop on Workshop on ML
ACM Transactions on Programming Languages and Systems (TOPLAS)
Delimited continuations in operating systems
CONTEXT'07 Proceedings of the 6th international and interdisciplinary conference on Modeling and using context
ECOOP'07 Proceedings of the 2007 conference on Object-oriented technology
Pause 'n' play: formalizing asynchronous C#
ECOOP'12 Proceedings of the 26th European conference on Object-Oriented Programming
Compiler support for lightweight context switching
ACM Transactions on Architecture and Code Optimization (TACO) - Special Issue on High-Performance Embedded Architectures and Compilers
Hi-index | 0.00 |
Traditional first-class continuation mechanisms allow a captured continuation to be invoked multiple times. Many continuations, however, are invoked only once. This paper introduces one-shot continuations, shows how they interact with traditional multi-shot continuations, and describes a stack-based implementation of control that handles both one-shot and multi-shot continuations. The implementation eliminates the copying overhead for one-shot continuations that is inherent in multi-shot continuations.