2010
DOI: 10.1007/978-3-642-12251-4_22
|View full text |Cite
|
Sign up to set email alerts
|

Delimited Control in OCaml, Abstractly and Concretely: System Description

Abstract: 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 definitiona… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
11
0

Year Published

2010
2010
2018
2018

Publication Types

Select...
5
3
1

Relationship

1
8

Authors

Journals

citations
Cited by 16 publications
(11 citation statements)
references
References 24 publications
0
11
0
Order By: Relevance
“…Typing power of exceptions vs. continuations. Lillibridge 22 shows that exceptions introduce a typing loophole that can be used to implement unbounded loops in otherwise strongly-normalizing languages, while continuations cannot do this, giving the slogan "Exceptions are strictly more 17 Filinski (1994) 18 Kiselyov (2010) 19 Pettyjohn, Clements, Marshall, Krishnamurthi, and Felleisen (2005) 20 Thiemann (2006) 21 Corona (2014) 22 Lillibridge (1999) powerful than call/cc." As noted by other authors, 23 this argument only concerns the typing of exceptions rather than their execution semantics, and is inapplicable in languages that already have recursion.…”
Section: Related Workmentioning
confidence: 99%
“…Typing power of exceptions vs. continuations. Lillibridge 22 shows that exceptions introduce a typing loophole that can be used to implement unbounded loops in otherwise strongly-normalizing languages, while continuations cannot do this, giving the slogan "Exceptions are strictly more 17 Filinski (1994) 18 Kiselyov (2010) 19 Pettyjohn, Clements, Marshall, Krishnamurthi, and Felleisen (2005) 20 Thiemann (2006) 21 Corona (2014) 22 Lillibridge (1999) powerful than call/cc." As noted by other authors, 23 this argument only concerns the typing of exceptions rather than their execution semantics, and is inapplicable in languages that already have recursion.…”
Section: Related Workmentioning
confidence: 99%
“…They provide an operational semantics and a monadic translation into a pure λ -calculus extended with stacks, as well as an implementation of the monadic effect in Haskell. A direct implementation of delimited control with multiple prompts in OCaml is given by Kiselyov (2010). In addition, Kiselyov et al (2006) give a language that combines both delimited control and dynamic variables, showing that the two effects interact in subtle ways.…”
Section: Examplementioning
confidence: 99%
“…Lawall & Danvy (1994) show how to use Danvy and Filinski's delimited control operators shift and reset (Danvy & Filinski, 1989, 1990 to perform letand if-insertion in the familiar direct style by effectively hiding trivial uses of continuations as in sgib_c above. Since delimited control operators are available in MetaOCaml (Kiselyov, 2010), we can build a memoizing staged fixpoint combinator y_ms with this technique so that evaluating…”
Section: Delimited Control and Its Risk Of Scope Extrusionmentioning
confidence: 99%