2006
DOI: 10.1016/j.scico.2006.01.002
|View full text |Cite
|
Sign up to set email alerts
|

On the static and dynamic extents of delimited continuations

Abstract: We show that breadth-first traversal exploits the difference between the static delimited-control operator shift (alias S) and the dynamic delimited-control operator control (alias F). For the last 15 years, this difference has been repeatedly mentioned in the literature but it has only been illustrated with one-line toy examples. Breadth-first traversal fills this vacuum.We also point out where static delimited continuations naturally give rise to the notion of control stack whereas dynamic delimited continua… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
21
0

Year Published

2007
2007
2012
2012

Publication Types

Select...
4
2
1

Relationship

2
5

Authors

Journals

citations
Cited by 25 publications
(21 citation statements)
references
References 47 publications
0
21
0
Order By: Relevance
“…All along the article, we use the terms i When the captured context E is reactivated, it is not simply concatenated with the context i , but composed thanks to the reset enclosing E . (This operation corresponds to continuation composition in the CPS semantics of shift and reset, and it is crucially different from context concatenation [12].) As a result, the capture triggered by Sk 2 .ω leaves the term i outside the first enclosing reset intact:…”
Section: Introductionmentioning
confidence: 99%
“…All along the article, we use the terms i When the captured context E is reactivated, it is not simply concatenated with the context i , but composed thanks to the reset enclosing E . (This operation corresponds to continuation composition in the CPS semantics of shift and reset, and it is crucially different from context concatenation [12].) As a result, the capture triggered by Sk 2 .ω leaves the term i outside the first enclosing reset intact:…”
Section: Introductionmentioning
confidence: 99%
“…Delimited-control operators have appeared far more often in research papers (Felleisen 1988;Danvy and Filinski 1990;Hieb and Dybvig 1990;Sitaram and Felleisen 1990;Queinnec and Serpette 1991;Sitaram 1993;Gunter et al 1995;Shan 2004;Biernacki et al 2006;Kiselyov et al 2006;Dybvig et al 2006) than in production programming environments (Gasbichler and Sperber 2002). One obstacle, at least for some run-time system implementations, is the difficulty of adding higher-order control to the existing implementation.…”
Section: An F In Productionmentioning
confidence: 99%
“…Previous work explores the design space related to this choice in depth (Shan 2004;Kiselyov 2005a;Biernacki et al 2006;Dybvig et al 2006); when taking into account space complexity, only the design that does not include or add a prompt is known to express the others (Dybvig et al 2006). …”
Section: Continuations and Promptsmentioning
confidence: 99%
“…Each function in the interpretation receives two extra arguments: a local continuation, representing the immediate control context up to the dynamically nearest delimiter, and a metacontinuation, representing the rest of the control context after the delimiter (Wand and Friedman 1986). Biernacki et al (2006) instead use an elegant abstract machine semantics with two evaluation contexts to represent the two continuations. We use a simplified version of this abstract machine, with only a control expression e, a local continuation represented as an evaluation context E, and a metacontinuation K, represented as a stack of local contexts E. e ::= x | v | e e | Sx.e | #e v ::= λx.e | E E ::…”
Section: Specificationmentioning
confidence: 99%
“…Invoking a continuation E ′ is more involved: the value v is plugged into the continuation E ′ , and evaluated within the current evaluation context E, but with the addition of a new delimiter. This prevents subsequent control effects in the body of E ′ from capturing E. It is this extra delimiter that distinguishes the behavior of S from the control operator F (Felleisen 1987;Danvy and Filinski 1989;Sitaram 1994;Shan 2004;Kiselyov 2005;Biernacki et al 2006). Finally, returning a value locally pops the next local continuation off of the global stack and continues returning.…”
Section: Specificationmentioning
confidence: 99%