## Sharing Continuations: Proofnets for Languages With Explicit Control (2000)

### Cached

### Download Links

- [www.church-project.org]
- [www.church-project.org]
- [www.cs.brandeis.edu]
- [www.church-project.org]
- DBLP

### Other Repositories/Bibliography

Venue: | In ESOP'2000, volume 1782. LNCS |

Citations: | 3 - 2 self |

### BibTeX

@INPROCEEDINGS{Lawall00sharingcontinuations:,

author = {Julia L. Lawall and Harry G. Mairson},

title = {Sharing Continuations: Proofnets for Languages With Explicit Control},

booktitle = {In ESOP'2000, volume 1782. LNCS},

year = {2000},

pages = {245--259},

publisher = {Springer-Verlag}

}

### OpenURL

### Abstract

We introduce graph reduction technology that implements functional languages with control, such as Scheme with call/cc, where continuations can be manipulated explicitly as values, and can be optimally reduced in the sense of Lévy. The technology is founded on proofnets for multiplicative-exponential linear logic, extending the techniques originally proposed by Lamping, where we adapt the continuation-passing style transformation to yield a new understanding of sharable values. Confluence is maintained by returning multiple answers to a (shared) continuation. Proofnets provide a concurrent version of linear logic proofs, eliminating structurally irrelevant sequentialization, and ignoring asymmetric distinctions between inputs and outputs -- dually, expressions and continuations. While Lamping's graphs and their variants encode an embedding of intuitionistic logic into linear logic, our construction implicitly contains an embedding of classical logic into linear logic. We propose...

### Citations

321 |
λµ-calculus: An algorithmic interpretation of classical natural deduction
- Parigot
- 1992
(Show Context)
Citation Context ...st any functional language with abortive control operators whose semantics can be described in continuation-passing style|for example, Filinski's symmetric -calculus [9], and Parigot's -calculus [26=-=]-=-. 2 What do optimality and correctness mean in a language with explicit control? To understand optimality and sharing in the context of continuations, consider the evaluation of a Scheme expression ([... |

235 | A formulae-as-types notion of control - Griffin - 1990 |

172 |
Call-by-Name, Call-by-Value and the lambda-Calculus
- Plotkin
- 1975
(Show Context)
Citation Context ... CBN evaluation order, however any consistent mixture is possible [18]. Plotkin's CBV and CBN CPS transformations, extended with the translation of call/cc, are shown in Figures 3 and 4, respectively [27]. For typed terms, these transformations induce a corresponding transformation on types. Dene for any base type (including ?) and ( !s) ! ::s where : ! ?; then the CBV CPS tr... |

161 | Reasoning about programs in continuation-passing style
- Sabry, Felleisen
- 1993
(Show Context)
Citation Context ...ation abstraction [27]. Our DS transformation converts administrative redexes into box-croissant redexes, adding a bureaucratic cost to optimal reduction [1, 23]. The optimized CPS transformations in =-=[8, 28]-=- could then lead to more ecient implementations. Converting CPS programs back to direct style: Danvysrst investigated the problem of converting a CPS program back to a direct-style [6], later extended... |

159 | logic: its syntax and semantics
- Linear
- 1995
(Show Context)
Citation Context ...hier, Abadi, and Levy, who reinterpreted Lamping's insights in the guise of Girard's geometry of interaction, and the related embedding of intuitionistic logic in linear logic [14, 15]. Linear logic [=-=12, 13]-=- provides an ideal substrate for the implementation of control operators, as it makes no asymmetric distinctions between inputs and outputs, or analogous expressions and continuations. We extend the o... |

130 | Representing monads
- Filinski
- 1994
(Show Context)
Citation Context ...f a CPS transformation, they do not have return type ?; the DS transformation is then inapplicable. Both shift and reset, and control and prompt can be dened in terms of call/cc and a reference cell [=-=11, 30]-=-. Bawden has shown how to implement reference cells using sharing graphs [4], so this strategy may still lead to an interesting proofnet implementation. 6 Conclusions We have shown how to implement va... |

120 | An algorithm for optimal lambda calculus reduction
- Lamping
- 1990
(Show Context)
Citation Context ...e pragmatics of continuations in simple, novel and useful ways. Our methodology is founded on proofnets 1 for multiplicative-exponential linear logic, following the beautiful insights of John Lamping =-=-=-[20], who realized Jean-Jacques Levy's specication of correct, optimal reduction for the -calculus [21], and of Gonthier, Abadi, and Levy, who reinterpreted Lamping's insights in the guise of Girard's... |

98 | The geometry of optimal lambda reduction
- Gonthier, Abadi, et al.
- 1992
(Show Context)
Citation Context ...culus [21], and of Gonthier, Abadi, and Levy, who reinterpreted Lamping's insights in the guise of Girard's geometry of interaction, and the related embedding of intuitionistic logic in linear logic [=-=14, 15]-=-. Linear logic [12, 13] provides an ideal substrate for the implementation of control operators, as it makes no asymmetric distinctions between inputs and outputs, or analogous expressions and continu... |

95 | Abstracting control
- Danvy, Filinski
- 1990
(Show Context)
Citation Context ... box technology. Our proofnet technology might be extended to languages with functional control operators, such as Danvy and Filinski's shift and reset, and Sitaram and Felleisen's control and prompt =-=[7, 3-=-0]. While shift and reset are dened in terms of a CPS transformation, they do not have return type ?; the DS transformation is then inapplicable. Both shift and reset, and control and prompt can be de... |

87 | A generic account of continuationpassing styles
- Hatcliff, Danvy
- 1994
(Show Context)
Citation Context ...ormation of the lambda calculus, including call/cc call/cc can be translated into CPS. Typically a CPS transformation encodes a CBV or CBN evaluation order, however any consistent mixture is possible =-=[18]-=-. Plotkin's CBV and CBN CPS transformations, extended with the translation of call/cc, are shown in Figures 3 and 4, respectively [27]. For typed terms, these transformations induce a corresponding tr... |

81 | Representing control: A study of the CPS transformation
- Danvy, Filinski
- 1992
(Show Context)
Citation Context ...ation abstraction [27]. Our DS transformation converts administrative redexes into box-croissant redexes, adding a bureaucratic cost to optimal reduction [1, 23]. The optimized CPS transformations in =-=[8, 28]-=- could then lead to more ecient implementations. Converting CPS programs back to direct style: Danvysrst investigated the problem of converting a CPS program back to a direct-style [6], later extended... |

76 | Representing control in the presence of first–class continuations
- Hieb, Dybvig, et al.
- 1990
(Show Context)
Citation Context ...-converted input. We leave further analyses of these observations to future work. E#ciently managing the reified continuation is a significant problem in implementing languages with control operators =-=[4, 16]-=-. Proofnet implementations suggest the possibility of evaluating programs containing control operators using optimal reduction, with a minimal copying of shared values. Nevertheless, we are exchanging... |

63 |
Extracting constructive content from classical proofs
- Murthy
- 1990
(Show Context)
Citation Context ...echnology to implement explicit control and sharing of continuations, essentially via an embedding of classical logic in linear logic, following a line of research beginning with Grin and then Murthy =-=[16, 24]-=-. Our construction is based on continuation-passing style, but generates direct-style graphs in which continuations are implemented as sharable (boxed) values. This approach extends to implement most ... |

53 | Linear logic without boxes - Gonthier, Abadi, et al. - 1992 |

49 | Back to direct style
- Danvy
- 1994
(Show Context)
Citation Context ...rmations in [8, 28] could then lead to more ecient implementations. Converting CPS programs back to direct style: Danvysrst investigated the problem of converting a CPS program back to a direct-style =-=[6]-=-, later extended with Lawall. The conversions were only on terms that could be output by CPS transformation. Our DS transformation also relies on a uniform, but weaker property: values of type ? must ... |

45 | Representing control in the presence of one-shot continuations
- Bruggeman, Waddell, et al.
- 1996
(Show Context)
Citation Context ...h is the CBV answer. We leave further analyses of these observations to future work. Eciently managing the reied continuation is a signicant problem in implementing languages with control operators [5=-=, 19]-=-. Proofnet implementations suggest the possibility of evaluating programs containing control operators using optimal reduction, with a minimal copying of shared values. Nevertheless, we are exchanging... |

39 |
Control delimiters and their hierarchies
- Sitaram, Felleisen
- 1990
(Show Context)
Citation Context ... box technology. Our proofnet technology might be extended to languages with functional control operators, such as Danvy and Filinski's shift and reset, and Sitaram and Felleisen's control and prompt =-=[7, 3-=-0]. While shift and reset are dened in terms of a CPS transformation, they do not have return type ?; the DS transformation is then inapplicable. Both shift and reset, and control and prompt can be de... |

30 | Declarative continuations and categorical duality
- Filinski
- 1989
(Show Context)
Citation Context ... approach extends to implement most any functional language with abortive control operators whose semantics can be described in continuation-passing style|for example, Filinski's symmetric -calculus [=-=-=-9], and Parigot's -calculus [26]. 2 What do optimality and correctness mean in a language with explicit control? To understand optimality and sharing in the context of continuations, consider the ev... |

30 | Linear continuations
- Filinski
- 1992
(Show Context)
Citation Context ...n on graphs, which is independent of the language being implemented. In a sequel to his earlier work on symmetric lambda calculus, Filinski used linear logic as a tool for understanding continuations =-=[1-=-0]. Some of the linear types he proposed for continuations appear in our codings, the most common being ?!, resulting from the DS transformation of a graph with type ( ? ) ?. Grin, and later Murthy, s... |

27 |
The Noble Art of Linear Decorating
- Schellinx
- 1994
(Show Context)
Citation Context ...sions of CPS, followed by our DS transform on graphs, produce a wide range of consistent schemes for locating boxes in proofnets. The noble art of linear decorating, to repeat the phrase of Schellinx =-=[29]-=-, has been replaced by a factory. The theoretical foundation of our implementation technology means that we have a consistent semantics provided by the geometry of interaction, and a means of incremen... |

26 |
The Geometry of Implementation
- Mackie
- 1994
(Show Context)
Citation Context ...ion [21]. The big question in implementing -calculus within this framework is where to put the boxes to allow the unrestricted sharing of values. We mention two commonly used boxing disciplines; see [22] for others. The call-by-value (CBV) coding boxes the graph of every -abstraction. Correspondingly, a croissant is placed on 3 x x Gn [[M ]] @ Gn [[M ]] Gn [[N ]] Gn [[x]] Gn [[x:M ]] Gn [[MN ]] ... |

16 |
Yet another lambda evaluator based on interaction nets
- Yale
- 1998
(Show Context)
Citation Context ...g the application of a continuation or continuation abstraction [27]. Our DS transformation converts administrative redexes into box-croissant redexes, adding a bureaucratic cost to optimal reduction =-=[1, 23]-=-. The optimized CPS transformations in [8, 28] could then lead to more ecient implementations. Converting CPS programs back to direct style: Danvysrst investigated the problem of converting a CPS prog... |

14 |
A formulae-as-type notion of control
- Grin
- 1990
(Show Context)
Citation Context ...echnology to implement explicit control and sharing of continuations, essentially via an embedding of classical logic in linear logic, following a line of research beginning with Grin and then Murthy =-=[16, 24]-=-. Our construction is based on continuation-passing style, but generates direct-style graphs in which continuations are implemented as sharable (boxed) values. This approach extends to implement most ... |

13 | Parallel beta reduction is not elementary recursive
- Asperti, Mairson
(Show Context)
Citation Context ...t the Asperti-Mairson theorem on the complexity of parallels-reduction does not say that such optimal reduction is inecient|only that the parallel reduction cannot be considered a unit-cost operation =-=[3]-=-. In summary, all of the translations we outline possess a simple graph reduction on translated terms (cut elimination for linear logic), a consistent semantics that is preserved by reduction (geometr... |

7 | Proof nets, garbage, and computations
- Guerrini, Martini, et al.
(Show Context)
Citation Context ...nts in the IK-calculus keeps sharing graphs from being proofnets, but we ignore this technicality, which can be repaired either by introducing the mix rule, or by more elaborate constructions (e.g., [=-=17]-=-). 2 We have implemented these languages using the techniques in this paper. This work will be included in a later, extended version of the manuscript. 3 Anomalies of this sort compelled Filinski to a... |

6 |
1: Optimizing optimal -calculus implementations
- Asperti
- 1995
(Show Context)
Citation Context ...cessible, given the full completeness results that are known for linear logic. 2 Preliminaries We brie y sketch the construction of graphs to implement -calculus; more details can be found elsewhere [=-=1, -=-14]. Graphs are composed of wires andsxed-arity nodes, as well as boxes, which enclose subgraphs. The -calculus is encoded using apply nodes (@), lambda nodes (), sharing nodes (5), weakening nodes ()... |

6 |
Paths, computations and labels in the lambda-calculus
- Asperti, Laneve
- 1995
(Show Context)
Citation Context ...RB]R j BB An unbalanced path is path that is not well-balanced and whose label is a subword of the labels derivable from B. This denition of well-balanced path generalizes that of Asperti and Laneve [=-=2]-=- to include paths that cannot occur in the translation of an ordinary lambda term, but can occur in the image of the DS transformation. Note that some paths are neither well-balanced nor unbalanced, f... |

4 | Implementing distributed systems using linear naming
- Bawden
- 1993
(Show Context)
Citation Context ...then inapplicable. Both shift and reset, and control and prompt can be dened in terms of call/cc and a reference cell [11, 30]. Bawden has shown how to implement reference cells using sharing graphs [=-=4]-=-, so this strategy may still lead to an interesting proofnet implementation. 6 Conclusions We have shown how to implement various languages with explicit control using graph reduction, where the struc... |

3 |
Representing control in the presence of continuations
- Hieb, Dybvig, et al.
- 1990
(Show Context)
Citation Context ...h is the CBV answer. We leave further analyses of these observations to future work. Eciently managing the reied continuation is a signicant problem in implementing languages with control operators [5=-=, 19]-=-. Proofnet implementations suggest the possibility of evaluating programs containing control operators using optimal reduction, with a minimal copying of shared values. Nevertheless, we are exchanging... |

2 |
Programs with continuations and linear logic
- Nishizaki
- 1993
(Show Context)
Citation Context ...rmation is simply the identity on the graphs of DS terms. Relating languages with control operators to linear logic: Nishizaki also investigated encodings of lambda calculus plus call/cc in proofnets =-=[25]-=-. He showed that normalization of these proofnets is complete with respect to normalization in the term language. He began by adding modalities in an ad hoc manner (induced mechanically by our CBV CPS... |

1 | δ◦!ɛ = 1: Optimizing optimal λ-calculus implementations - Asperti - 1995 |