Results 1 -
8 of
8
Typed Dynamic Control Operators for Delimited Continuations
- FLOPS ’08: Proceedings of 9th International Symposium on Functional and Logic Programming
, 2008
"... Abstract. We study the dynamic control operators for delimited continuations, control and prompt. Based on recent developments on purely functional CPS translations for them, we introduce a polymorphically typed calculus for these control operators which allows answer-type modification. We show that ..."
Abstract
-
Cited by 3 (2 self)
- Add to MetaCart
Abstract. We study the dynamic control operators for delimited continuations, control and prompt. Based on recent developments on purely functional CPS translations for them, we introduce a polymorphically typed calculus for these control operators which allows answer-type modification. We show that our calculus enjoys type soundness and is compatible with the CPS translation. We also show that the typed dynamic control operators can macro-express the typed static ones (shift and reset), while the converse direction is not possible, which exhibits a sharp contrast with the type-free case.
Delimited Control in OCaml, Abstractly and Concretely System Description
"... Abstract. We describe the first implementation of multi-prompt delimited control operators in OCaml that is direct in that it captures only the needed part of the control stack. The implementation is a library that requires no changes to the OCaml compiler or run-time, so it is perfectly compatible ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
Abstract. We describe the first implementation of multi-prompt delimited control operators in OCaml that is direct in that it captures only the needed part of the control stack. The implementation is a library that requires no changes to the OCaml compiler or run-time, so it is perfectly compatible with existing OCaml source code and byte-code. The library has been in fruitful practical use for four years. We present the library as an implementation of an abstract machine derived by elaborating the definitional machine. The abstract view lets us distill a minimalistic API, scAPI, sufficient for implementing multiprompt delimited control. We argue that a language system that supports exception and stack-overflow handling supports scAPI. Our library illustrates how to use scAPI to implement multi-prompt delimited control in a typed language. The approach is general and can be used to add multi-prompt delimited control to other existing language systems. 1
A Type System for Dynamic Delimited Continuations
"... We study the control operators ”control” and ”prompt” which manage part of continuations, that is, delimited continuations. They are similar to the well-known control operators ”shift” and ”reset”, but differ in that the former is dynamic, while the latter is static. In this paper, we introduce a st ..."
Abstract
- Add to MetaCart
We study the control operators ”control” and ”prompt” which manage part of continuations, that is, delimited continuations. They are similar to the well-known control operators ”shift” and ”reset”, but differ in that the former is dynamic, while the latter is static. In this paper, we introduce a static type system for ”control ” and ”prompt” which does not use recursive types. We design our type system based on the dynamic CPS transformation recently proposed by Biernacki, Danvy and Millikin. We also introduce let-polymorphism into our type system, and show that our type system satisfies several important properties such as strong type soundness.
Delimited Control in OCaml, Abstractly and Concretely Oleg Kiselyov
"... We describe the first implementation of multi-prompt delimited control operators in OCaml that is direct in that it captures only the needed part of the control stack. The implementation is a library that requires no changes to the OCaml compiler or run-time, so it is perfectly compatible with exist ..."
Abstract
- Add to MetaCart
We describe the first implementation of multi-prompt delimited control operators in OCaml that is direct in that it captures only the needed part of the control stack. The implementation is a library that requires no changes to the OCaml compiler or run-time, so it is perfectly compatible with existing OCaml source and binary code. The library has been in fruitful practical use since 2006. We present the library as an implementation of an abstract machine derived by elaborating the definitional machine. The abstract view lets us distill a minimalistic API, scAPI, sufficient for implementing multi-prompt delimited control. We argue that a language system that supports exception and stack-overflow handling supports scAPI. With byte- and native-code OCaml systems as two examples, our library illustrates how to use scAPI to implement multi-prompt delimited control in a typed language. The approach is general and has been used to add multi-prompt delimited control to other existing language systems.

