| John Lamping. An algorithm for optimal lambda-calculus reductions. In Conf. Rec. 17th Ann. ACM Symp. Princ. of Prog. Langs., pages 16--30, 1990. |
....of a simple graph functional programming language using interaction nets) as well as within the research program associated with linear logic. John Lamping devised a specific graph grammar that permits the encoding of the lambda calculus, with explicit annotations for sharing of subterms [Lam90]. Reduction in this calculus is optimal in the sense of Levy: all beta redexes are shared when they are performed if they descend from a common beta redex, an important property that has proved surprisingly difficult to capture in a rewrite system. Another joint paper by Gonthier, Abadi and Levy ....
John Lamping. An algorithm for optimal lambda calculus reduction. In Proc. Annual 17th Symp. Principles of Programming Languages, pages 16--30. ACM Press, 1990.
....til at genbruge beregninger; det er mindre kendt at ogsa fully lazy evaluering er suboptimal kan endda vre exponentielt darlig, som vist i [FS91] For evaluering af # udtryk existerer der adskillige smarte metoder som genbruger beregninger i hjere grad end fully lazy evaluering gr (f.ex. Lam90] I sektion 3.1 prsenterer vi en parametriseret evalueringsstrategi for supercombinator programmer med det fordringsfulde navn ultimate sharing . Denne strategi er en topdown implementering af et mange niveau transitionssystem; hvis parametrene bliver valgt pa passende vis er strategien i ....
....lazy evaluation is suboptimal wrt. the ability for reusing (sharing) computations; it is less known that also fully lazy evaluation is suboptimal it may even be exponentially bad, as shown in [FS91] Several clever methods exist for a more than fully lazy evaluation of # expressions (e.g. Lam90] in section 3.1 we present a parametrized evaluation strategy for supercombinator programs with the pretentious name ultimate sharing , to be seen as a topdown implementation of a multilevel transition system we argue that if parameters are chosen appropriately, this strategy is able to ....
[Article contains additional citation context not shown here]
John Lamping. An algorithm for optimal lambda calculus reduction. In ACM Symposium on Principles of Programming Languages, pages 16--30, 1990.
....Given my characterization of state as a global property of the working graph, perhaps there is some variant of semi simplicity that will prove relevant to the phenomenon of state. Another graph reduction system with linear rules appears in Lamping s algorithm for optimal calculus reduction [Lam90] In this case a specific grammar is presented that is, the set of methods is fixed and the program is encoded in the initial graph, just as it would be for a simple SK combinator implementation. Optimal calculus reduction is an interesting problem because nonlinear names cause expres The ....
John Lamping. An algorithm for optimal lambda calculus reduction. In Proc. Symposium on Principles of Programming Languages, pages 16--30. ACM, January 1990.
.... cas linearity.org 24th March 2001 Abstract This paper introduces a general notion of static port graph grammar (SPGG) that encompasses existing formalisms that have been independently proposed, such as Linear Graph Grammars [Baw93] Interaction Nets [Laf90] and Partial Sharing Graphs [Lam90]. These formalisms have been shown to provide a computational framework for asynchronous computation that respects a very rigorous notion of local interaction, and have proven a suitable basis for the internal representation of program and data in the compilation of high level programming ....
John Lamping. An algorithm for optimal lambda calculus reduction. In Proc. Annual 17th Symp. Principles of Programming Languages, pages 16--30. ACM Press, 1990.
....software artifacts. In the late 1970s, Jean Jacques L evy was working on the idea of shared computation in the calculus [L ev80] he knew what a solution would have to do, but lacked all the algorithmic pieces to put together a solution. The problem was really solved by John Lamping about 1990 [Lam90] using a graph reduction technology that was very similar to one invented by Yves Lafont, who was using it for other purposes [Laf90] Simultaneously, Alan Bawden (one of the co PIs) was working on linear naming, and built a real distributed Scheme system using the same kind of technology ....
John Lamping. An algorithm for optimal lambda calculus reduction. In Proc. Symposium on Principles of Programming Languages, pages 16--30. ACM, January 1990.
....arguments should retain as much sharing as possible. Therefore some intelligent implementation of higherorder terms within the metalanguage such as Teyjus s use of explicit substitutions [16, 17] seems essential. Perhaps even a more sophisticated representation such as optimal reductions [9, 3] would be useful. 10 Programming the prover In this paper, we have concentrated on an encoding of the logic used for proof checking. But of course, we will also need to construct proofs. For example, a typical safety property is the program never stores to a memory location outside the address ....
John Lamping. An algorithm for optimal lambda calculus reduction. In Seventeenth Annual ACM Symp. on Principles of Prog. Languages, pages 16--30. ACM Press, Jan 1990.
....no one knew at that time what kind of data structure could be used to dynamically maintain the families in such a way that all the redexes of a given family could be somehow shared and, therefore, reduced as a single step. The solution came in 1989, when independently Kathail [Kat90] and Lamping [Lam90] gave abstract calculus machines which reduced terms as prescribed by L evy s optimality theory. Lamping s graph rewriting approach is the one that received most interest, and after his breakthrough other variants of optimal reducers have been proposed, especially by Gonthier, Abadi and L evy ....
John Lamping. An algorithm for optimal lambda calculus reduction. In ACM, editor, POPL '90. Proceedings of the seventeenth annual ACM symposium on Principles of programming languages, January 17-19, 1990, San Francisco, CA, pages 16-30, New York, NY, USA, 1990. ACM Press.
....arguments should retain as much sharing as possible. Therefore some intelligent implementation of higher order terms within the meta language such as Nadathur s use of explicit substitutions [Nad97] seems essential. Perhaps even a more sophisticated representation like optimal reductions [Lam90, AG98] will be useful. Programming the prover. In this paper, we have concentrated on an encoding of the logic used for proof checking. But of course, we will need to construct proofs, too, which is sufficently difficult [God31] that the full power of an imperative programming language (such as lProlog ....
John Lamping. An algorithm for optimal lambda calculus reduction. In Seventeenth Annual ACM Symp. on Principles of Prog. Languages, pages 16-- 30. ACM Press, Jan 1990.
....discovered that the lambdacalculus may be faithfully embedded into linear logic, thus allowing the use of linear logic computations (in the form of proof net cut elimination) to perform (or study) lambda reduction. A crucial step was the discovery [GAL92] that Lamping s graph reduction algorithm [Lam90] for optimal lambda reduction (in the sense of L evy, L ev78] could be interpreted as a way of performing proof net cut elimination in a distributed and local way. The (global) concept of proof net box is replaced with information distributed on the graph (brackets, croissants, and indices) ....
....0 m 1 6= m 2 Fig. 7. Mux interactions. Remark 7 In the case of mux swap, the pair of facing muxes might even be generated by the same cut. The remarkable point for the application of the rule is that their thresholds are different. An unabridged discussion on this issue can be found in [Lam90,Asp95,AG98]. Here, we just remark that this is the essential reason because of which muxes and the other control nodes have an index that changes along reduction. In fact, a static label assigned to each mux at its creation would not be able to properly decide when to apply annihilation or swap. The ....
John Lamping. An algorithm for optimal lambda calculus reduction. In Proceedings of Seventeenth Annual ACM Symposyum on Principles of Programming Languages, pages 16--30, San Francisco, California, January 1990. ACM.
....where a similar expression [ x : M ] is defined. It spawns a new computation of M for every occurence of x. this reason the ffi calculus is appropriate to describe implementations of lazy and eager calculus. We should remark that the ffi calculus is unable to model optimal reduction [GAL, Lam90, Kat90], since it prohibits reduction in abstractions. The ffi calculus is one of several calculi [Smo93] describing aspects of the multi paradigm programming language Oz [Smo94] All those calculi use relational settings as does the ffi calculus. Oz has been developed in parallel with those calculi ....
John Lamping. An Algorithm for Optimal Lambda Calculus Reduction. ACM POPL, pages 16--30, 1990.
....of just these nodes as in this paper we postponed this move for the sake of the brevity of presentation. One important direction for further research would be to extend the approach to be able to tackle the term graph representation systems used for optimal reduction in the # calculus such as [40, 42, 30, 25, 16, 2]. In the second aspect of this paper we stress the usefulness of relational notation and calculus we strongly feel that the results in [21, 22] and in this paper would not have been achieved without. Although some concepts require a second thought for understanding, the relational ....
John Lamping. An algorithm for optimal lambda calculus reduction. In 17th Annual ACM Symposium on Principles of Programming Languages, pages 16--30, San Francisco, California, January 1990. acm press.
....marking each mux introduced by a fi rule by a new label; assuming that the propagation rules preserve mux labeling, we might argue that two muxes should be matching when they face with the same label and non matching otherwise. Unfortunately, Lamp5 ing (who firstly introduced sharing graphs, see [Lam90]) has shown that this solution does not work: there are cases in which two muxes that have been inserted by the same redex are non matching. The right solution requires a dynamical labeling of muxes, say an index, that changes along the reduction. This leads us to the next ingredient for the ....
....of that property, since we shall see that the proper sharing graphs defined by the algebraic semantics are the ones that normalize to a graph without muxes for which the box nesting property holds. 1. 4 Optimality and other related works Sharing graphs have been introduced by Lamping [Lam90] for the implementation of L evy s optimal reductions of terms [L ev80] Several refinements of sharing graphs have been successively proposed by Gonthier et al. GAL92a,GAL92b] and by Asperti and Laneve [AL94,Asp95] The work of Gonthier et al. addressed how Lamping s formalism can be ....
[Article contains additional citation context not shown here]
John Lamping. An algorithm for optimal lambda calculus reduction. In Conference Record of the Seventeenth Annual ACM Symposium on Principles of Programming Languages, (POPL'90), pages 16--30, San Francisco, California, 1990.
....this paper we present a set based graph reduction technique for a lambda calculus extended by relative set abstraction which allows such subexpressions to be shared across alternative bindings to quantifiers. Our technique is similar to an algorithm of Lamping for optimal reduction of lambda terms [5]; we defer a more detailed comparison to the conclusion of this paper. Terms and Graph Expressions Like Lamping, we will use a graphic rendering of the terms of our calculus, rather than a textual rendering, due to the non linear nature of the layout of terms under graph reduction. Our source ....
....shared, or none of it is shared. We have no half way point which allows specification of only a part of an expression as shared if the part which is not shared from the view of the shared graph corresponds to several different subexpressions. In other words (namely, those used by Lamping [5]) the usual notion of sharing allows us to fan in from several different expressions to a shared subexpression, but we have no way to fan out from a shared expression to several different subexpressions. Since we cannot share the expression that results from narrowing, and since its wholesale ....
John Lamping. An algorithm for optimal lambda calculus reduction. In Conference Record, ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Francisco, California. ACM Press, January 1990.
....technique and implementation for lazy functional logic languages. Rather than relying on backtracking for rebinding of logical quantifiers, we note alternative choices explicitly in the graph, and optimize space complexity by adapting a technique for optimal reduction of terms due to Lamping [Lam90]. Source Language. Our source language is derived from Silbermann and Jayaraman s syntax [SJ92] Source programs are a list of closed, supercombinator definitions matching defn in the gram This research was supported by contract LEQSF RDA 19 of the Louisiana Board of Regents and by the Tulane ....
....shared, or none of it is shared. We have no half way point which allows specification of only a part of an expression as shared if the part which is not shared from the view of the shared graph corresponds to several different subexpressions. In other words (namely, those used by Lamping [Lam90]) the usual notion of sharing allows us to fan in from several different expressions to a shared subexpression, but we have no way to fan out from a shared expression to several different subexpressions. Since we cannot share the expression that results from narrowing, and since its wholesale ....
John Lamping. An algorithm for optimal lambda calculus reduction. In Conference Record, ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Francisco, California. ACM Press, January 1990.
....and infinite computations [FW90, KKSdV94] and with term graph rewriting for logic programming and equation solving [CMR 91, CR93, CW94, HP96] An area related to term graph rewriting is graph reduction for the lambda calculus. From the numerous literature of this area we mention only [Wad71, Lam90, AL95] 3.2 Specification of an Interactive Graphical Tool Often, the objects of an interactive graphical tool can be represented as graphs, and its operations can be modelled by graph transformation. Here we consider the Agg system being developed at TU Berlin, a tool for editing and ....
John Lamping. An algorithm for optimal lambda calculus reduction. In Proc. 17th Symposium on Principles of Programming Languages, 16--30. ACM Press, Addison-Wesley, 1990.
....(in the number of beta reductions) reduction strategy to reach the normal form. Since, however, it is a parallel strategy (counting as a single step the simultaneous reduction of several redexes, those belonging to the same family) how to implement this strategy remained open until Lamping [Lam90] introduced his sharing graphs. 1 Extended version of [GMM96] 2 Partially supported by: HCM Project CHRX CT93 0046 and CNR GNSAGA. 3 Partially supported by BRA 8130 LOMAPS and by MURST 40 Modelli della computazione e dei linguaggi di programmazione. 28 February Sharing graphs are based ....
....is independent from the context, the links may only erase the lifting operators originated inside the boxes they close, and the reindexing operators forced by the link at the principal doors of such boxes. We remark that this corresponds to the property of independence that Lamping proved in [Lam90] for the sharing graphs implementing the calculus. 5.5.3 Deadlock freeness The existence of a quiescence solution for a u structure U implies the absence of deadlocks for the reindexing operators. Namely, it is not possible that a (negative) lift gets stuck without the possibility to reindex its ....
John Lamping. An algorithm for optimal lambda calculus reduction. In Conference Record of POPL '90: 17 rd Symposium on Principles of Programming Languages, pages 16--30. ACM, 1990.
....term graphs and infinite computations [FW90, KKSdV91] and with term graph rewriting for logic programming and equation solving [CR93, CW94, HP96] An area related to term graph rewriting is graph reduction for the lambda calculus. From the numerous literature of this area we mention only [Wad71, Lam90, AL95] 3.2 Specification of an Interactive Graphical Tool Often, the objects of an interactive graphical tool can be represented as graphs, and its operations can be modelled by graph transformation. Here we consider the Agg system 7 being developed at TU Berlin, a tool for editing and ....
John Lamping. An algorithm for optimal lambda calculus reduction. In Proc. 17th Symposium on Principles of Programming Languages, 16--30. ACM Press, Addison-Wesley, 1990.
.... time a semantics of computation free from the twin drawbacks of reductionism (which leads to static modelisation) and subjectivism (which leads to syntactical abuses, in other terms bureaucracy) Such a semantics was developed previously by Jean Yves Girard [Gir89, Gira] and by John Lamping [Lam90]. Girard is a logician INRIA Rocquencourt. y Digital Equipment Corporation, Systems Research Center. 0 and Lamping is an autodidactic engineer. It is no surprise that they never read one another although they were working on the same problem from different perspectives. Girard proposed the ....
John Lamping. An algorithm for optimal lambda calculus reduction. In Seventeenth Annual ACM Symposium on Principles of Programming Languages, pages 16-- 30. ACM, January 1990.
....(in the number of beta reductions) reduction strategy to reach the normal form. Since, however, it is a parallel strategy (counting as a single step the simultaneous reduction of several redexes, those belonging to the same family) how to implement this strategy remained open until Lamping [Lam90] introduced his sharing graphs . Sharing graphs are based on three main ideas. First, any time a duplication seems required (e.g. when a bound variable appears several times in the body of a term) it is not actually performed; it is instead indicated (in a somewhat lazy way) by specific (new) ....
John Lamping. An algorithm for optimal lambda calculus reduction. In Principles of Programming Languages (POPL), pages 16--30. ACM, 1990.
....for substitution (the proofs of the logic) i.e. graph rewriting systems. As a first problem we set out to investigate the rewrite property of optimality of rewriting as defined by L evy [L ev78] Although optimal implementations using graph rewriting do exist both for the lambda calculus ([Lam90, Kat90]) and for the more general class of Interaction Systems ( AL92] we think our approach can shed new light on the subject matter. In this light, the work so far can be 38 References characterised as stating conditions on the form of the rewrite rules allowing to reduce optimality from a rewrite ....
John Lamping. An algorithm for optimal lambda calculus reduction. In Proceedings of the 17th ACM Conference on Principles of Programming Languages, pages 16--30, 1990.
....the annihilation should then be applied and when such muxes are not matching and the swap rule should be applied instead. The first attempt would be to mark each mux with a label corresponding to the redex that created it. Unfortunately, Lamping (who firstly introduced sharing graphs, see [Lam90]) showed that this solution does not work, as in certain cases, even two muxes that have been created by the same redex have to be considered non matching. The right solution is to have a dynamical labeling of muxes, say an index, ensuring that the annihilation rule applies when the muxes have the ....
....indeed an abstract characterization of that property, since we will see that the proper sharing graphs defined by it are the ones which normalize to a graph without muxes for which the box nesting property holds. 1. 4 Optimality and other related works Sharing graphs were introduced by Lamping [Lam90] to implement L evy s optimal reductions of terms [L ev80] Several refinements of them where successively proposed by Gonthier et al. GAL92a,GAL92b] and by Asperti and Laneve [AL94,Asp95] The work of Gonthier et al. addressed how Lamping s formalism could be interpreted inside the so called ....
[Article contains additional citation context not shown here]
John Lamping. An algorithm for optimal lambda calculus reduction. In Conference Record of the Seventeenth Annual ACM Symposium on Principles of Programming Languages, pages 16--30, San Francisco, California, January 1990.
No context found.
John Lamping. An algorithm for optimal lambda-calculus reductions. In Conf. Rec. 17th Ann. ACM Symp. Princ. of Prog. Langs., pages 16--30, 1990.
No context found.
Lam90. John Lamping. An algorithm for optimal lambda calculus reduction. In Proceedings of Seventeenth Annual ACM Symposyum on Principles of Programming Languages, pages 16--30, San Francisco, California, January 1990.
No context found.
Lam90. John Lamping. An algorithm for optimal lambda calculus reduction. In Proceedings of Seventeenth Annual ACM Symposyum on Principles of Programming Languages, pages 16--30, San Francisco, California, January 1990.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC