| John Field. On laziness and optimality in lambda interpreters: Tools for specification and analysis. In Proceedings of the Seventeenth Annual ACM Symposium on Principles of Programming Languages, pages 1--15, 1990. |
....introduce f calculus which is a variant of calculus with emphasis on sharing. One important feature of this formalism is to perform fi reduction with shared environments instead of instantiations of terms. Several other formalisms which explicitly manipulate environments have been proposed in [1][3][8] They all use de Bruijn notation and copy environments. Our construction is based on weak calculus (which does not evaluate under s) and executes reductions without copying applications and environments in a clean and tractable formulation. The framework of computing is quite different ....
....copy environments in body. 5 Conclusion We presented a new formal system called f calculus which stresses sharing as the most essential element and studied the basic properties as a functional calculus. The optimal reduction defined by L evy[7] is closely related to sharing, and two formalisms[3][8] using environments have been studied from the viewpoint of optimality in L evy s sense. However 3CCL[3] which executes full rules based on categorical combinators is insufficient for optimality. T l RS[8] whose reduction system is weak as well as ours, regards a parallel reduction as ....
[Article contains additional citation context not shown here]
J. Field. On laziness and optimality in lambda interpreters: Tools for specification and analysis. POPL, 1990.
....index 1. Further, the indices of the free variables in the terms that appear in the environment must themselves be incremented by 1. Explicit substitution notations that have been developed in recent years for the lambda calculus o er a complete treatment of this kind of encoding of substitutions [1, 7, 16, 21, 39]. We outline here a version of such a notation that we have developed for use speci cally in the implementation of our higher order language [31] This notation builds on the traditional de Bruijn notation by adding a new category of terms called a suspension. A suspension represents a skeletal ....
John Field. On laziness and optimality in lambda interpreters: Tools for speci cation and analysis. In Seventeenth Annual ACM Symposium on Principles of Programming Languages, pages 1-15. ACM Press, January 1990.
....wish to employ them in arbitrary order. Properties of this sort do hold as shown in [34, 35] and the various schemes and examples that we present here have a sound theoretical basis. We also note that there are several similarities between the notation we describe and those presented in [1] and [14]. We refrain from a discussion of these matters here, given that our focus is largely on the use of this notation in an actual implementation of our higher order language. 5.3 Internal Representation and Implementation of Reduction In using our notation in an actual implementation an important ....
John Field. On laziness and optimality in lambda interpreters: Tools for speci cation and analysis. In Seventeenth Annual ACM Symposium on Principles of Programming Languages, pages 1-15. ACM Press, January 1990.
....L evy s work raised two different kinds of problems: to get some evidence that his abstract notion of sharing could be feasible; actually, no traditional implementation of calculus (environment machines, supercombinators etc. is able to share all redexes in L evy s families (see [Fie90] for a discussion) to understand whether the lower bound to the complexity of the reduction provided by the length of the family reduction could be actually reached (or at least approached, say, up to some polynomial order) Note that a positive answer to the first problem is an essential ....
J. Field. On laziness and optimality in lambda interpreters: tools for specification and analysis. Proc. of the 17th ACM Symposium on Principles of Programming Languages (POPL 90), 1--15. 1990.
....naively) the principles of the implementation of calculus. They do not aim to eOEciency. Their main feature is that they preserve strong normalisation. The other approach, which we propose to call the oe family, has been proposed by Abadi, Cardelli, Curien, Hardin, L#vy and Field around 1989 [1, 2, 15, 19, 10, 24]. It follows previous research by Curien who proposed in 1983 categorical combinators [6, 8, 7] a combinatory logic more intuitive than the classical one. Hardin in 1987 [17, 18] studied conAEuence on open terms for that calculus. Categorical combinators are more intuitive in the sense that they ....
J. Field. On laziness and optimality in lambda interpreters: Tools for specication and analysis. In Proceedings of the 17th Annual ACM Symposium on Principles Of Programming Languages, Orlando (Fla., USA), pages 115, San Fransisco, 1990. ACM.
....designed to overcome this difficulty. At a level of detail, our proposal shares features with the data structures used in [AP81] in implementing a normalization procedure. However, in a manner akin to other recent proposals deriving from the Categorical Combinators of Curien [ACCL90, Cur86a, Fie90] it has the characteristic of reflecting the idea of an environment into the notation itself. There are two advantages to adopting this course. First, the resulting notation is fine grained enough to support a wide variety of reduction procedures on lambda terms, and the analysis undertaken here ....
....in spirit to that referred to as the interpretation method in [Har89] and used in [Har89] and [Yok89] in proving confluence properties of a combinator calculus. We conclude this paper in Section 9 by discussing the relationship of our work to that of others, especially that in [ACCL90] and [Fie90] 3 2 Logical preliminaries We are concerned in this paper with systems for rewriting expressions. Each such rewrite system is specified by a set of rule schemata. A rule schema has the form l r where l and r are expression schemata referred to as the lefthand side and the righthand side of ....
[Article contains additional citation context not shown here]
John Field. On laziness and optimality in lambda interpreters: Tools for specification and analysis. In Seventeenth Annual ACM Symposium on Principles of Programming Languages, pages 1--15. ACM Press, January 1990.
....wish to employ them in arbitrary order. Properties of this sort do hold as shown in [34, 35] and the various schemes and examples that we present here have a sound theoretical basis. We also note that there are several similarities between the notation we describe and those presented in [1] and [14]. We refrain from a discussion of these matters here, given that our focus is largely on the use of this notation in an actual implementation of our higher order language. 5.3 Internal Representation and Implementation of Reduction In using our notation in an actual implementation an important ....
John Field. On laziness and optimality in lambda interpreters: Tools for specification and analysis. In Seventeenth Annual ACM Symposium on Principles of Programming Languages, pages 1--15. ACM Press, January 1990.
....con gurations, or terms plus explicit substitutions. The reduction rules are con uent, and enjoy a deterministic notion of standard reduction. Related concepts appear in other approaches, in particular in the study of so called optimal reductions e.g. 4 A. K. Moran and D. Sands [Field 1990; Maranget 1991; Yoshida 1993] One limitation of the original work by Ariola et al. is in the treatment of recursive cycles ; na ve extension of the calculi to deal with recursive lets leads to a loss of con uence [Je rey 1993; Ariola and Klop 1997] The original call by need calculus considers ....
Field, J. 1990. On laziness and optimality in lambda interpreters: Tools for specication and analysis. In Proc. POPL'90, the 17 th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (Jan. 1990), pp. 1-15. ACM Press.
....substitutions is central in our work. This distinction is important to a simple understanding of confluence properties and to the practicality of the oe calculus. Simultaneously with our work, Field developed a system almost identical to our basic system, too, and claimed some of the same results [10]. Thus, we share a starting point. However, Field s paper is an investigation of optimality properties of reduction schemes, so for example Field went on to consider a labelled calculus. In contrast, we are more concerned with questions of confluence and with typechecking issues. 3.1 The basic ....
J. Field, On Laziness and Optimality in Lambda Interpreters: Tools for Specification and Analysis, in the Conference Record of the Seventeenth Annual ACM Symposium on Principles of Programming Languages, pp. 1--15, San Francisco, January 1990.
....of explicit substitutions: reduction is simulated in two stages, rst by the application of one rule, which activates the calculus of substitutions, and then by propagation of the substitution until variables are reached. Other calculi are [HL89] Les94] s [KR95] d [Kes96] CCL [Fie90], rm s [NW98] Mu n96] and x [Ros92, BR95] this last one being the calculus inspiring the presentation of this work in named variable style. However, explicit substitutions have always been studied in the framework of calculi, the only exceptions being the formalisms of combinatory ....
John Field. On laziness and optimality in lambda interpreters: Tools for specication and analysis. In Proceedings of the 7th Annual ACM Symposium on Principles of Programming Languages (POPL), pages 1-15. ACM Press, 1990.
....of the calculus. In particular, substitutions (environments) become first class objects. Working in this setting, it is possible to give a formal proof that even the notion of sharing offered by closures is not enough to achieve optimal reductions. The following example is discussed by Field in [Fie90]: M = x: x A) x B) y: z: z C) x D) w: y E) note the analogy with L evy s example) Here, the terms A and B are abstractions, while C; D and E are arbitrary terms. After a few reductions, we eventually come to the following configuration N = hP; A=y]i hP; B=y]i) where P is the ....
John Field. On laziness and optimality in lambda interpreters: tools for specification and analysis. In Proc. Seventeenth Symposium on Principles of Programmining Languages (POPL'90), pages 1--15, 1990.
....Furthermore, KN 93] has shown that the approach in [Abadi et al. 91] can be interpreted in [KN 93] and can be further simplified. Hardin and L evy 89] proposes confluent systems of substitution based on the study of categorical combinators yet we believe that our account is more comprehensive. Field 90] provides an account of explicit substitution similar to that of [Abadi et al. 91] hence it can also be accommodated in our account. The master thesis of [van Horssen 92] discusses explicit substitution in the classical notation and the item notation assumed in this paper. van Horssen 92] ....
Field, J., (1990) On laziness and optimality in lambda interpreters: tools for specification and analysis, 17 th Annual Symposium on Principles of Programming Languages, San Fransisco, 1-15.
....oe calculi ( calculi with explicit substitution) 11, 1, 7, 22] However, these concern acyclic expressions only. A related system for explicit cyclic substitutions has been given by Rose [25] In this paper we are not concerned with optimality questions for acyclic reduction as in the work of [21, 15, 10, 9]. We conclude with an indication that Wadsworth s interpreter [28] can be simulated in the graph rewrite rules that we propose. 1 Lambda graphs as systems of recursion equations In the first and most extensive part of the paper (Sections 1 7) we will consider graph rewriting in a naive or ....
J. Field. On Laziness and Optimality in Lambda Interpreters: Tools for Specification and Analysis. In Proc. ACM Conference on Principles of Programming Languages, San Francisco, 1990.
....which contain in a same framework both the fi rule and a description of the evaluation of the substitution. calculi of explicit substitutions are first order term rewrite systems. Such calculi allow nice and uniform descriptions of implementations of calculus. Several of them have been proposed [1, 8, 12, 7, 16, 10, 14, 15, 18]. AE is a new calculus of explicit substitutions very simple if compared with others. The main property of AE (read lambda upsilon) is that its set of operators is minimal in the sense that it contains only operators that are necessary to describe the calculus. There are four operators on terms ....
J. Field. On laziness and optimality in lambda interpreters: Tools for specification and analysis. In Proceedings of the 17th Annual ACM Symposium on Principles Of Programming Languages, Orlando (Fla., USA), pages 1--15, San Fransisco, 1990. ACM.
....of the calculus. Intuitively, since redexes in a same family are copies of a same redex (they have been generated in the same way) it should be possible to share their reduction. For a long time, no implementation was able to achieve the theoretical performance fixed by L evy (see [Fi90]) and it is only in recent years [Lam90, Ka90] that this problem has been finally solved. The graph reduction technique proposed by Lamping, and successively, remarkably simplified in [GAL92] seems particularly promising for an actual implementation. In particular, this implementation technique ....
J. Field. On laziness and optimality in lambda interpreters: tools for specification and analysis. Proc. of the 17th Symposium on Principles of Programming Languages (POPL 90). San Francisco. 1990.
....able to achieve the theoretical performance y An extended abstract of this paper is appeared in the proceedings of Theoretical Aspects of Computer Science 1994. This work is partially supported by the ESPRIT Basic Research Project 6454 CONFER. A. Asperti and C. Laneve 2 fixed by L evy (see (Field 1990) for a survey) and it is only in recent years that this problem has been finally solved (Lamping 1990; Kathail 1990) In particular, the graph reduction technique proposed by Lamping, and remarkably simplified in (Gonthier et al. 1992a) has put in evidence a restricted set of operators (fan, ....
J. Field (1990) On laziness and optimality in lambda interpreters: tools for specification and analysis. In Proceedings 17 th ACM Symposium on Principles of Programmining Languages, pages 1 -- 15.
....respect to sharing in the evaluators 2 . 1 In this paper we write call by need rather than lazy to avoid a name clash with the work of Abramsky [2] which describes call by name reduction to values. 2 Ironically, this problem immediately showed up in the dif A number of researchers [1, 13, 20, 31, 28] have studied reductions that preserve sharing in calculi with explicit substitutions, especially in relation to optimal reduction strategies. Having different aims, the resulting calculi are considerably more complex than those presented here. Closest to our treatment is Yoshida s weak lambda ....
....that we avoid duplication only of argument evaluations. In the program (f:fI(fI) w: II)w) the redex II in the argument will be reduced twice. Put differently, our calculus captures neither full laziness as described by Wadsworth [30] nor the sharing required by optimal calculus interpreters [13, 15, 16, 17, 20]. However, as observed by Arvind, Kathail and Pingali [7] full laziness can always be obtained by extracting the maximal free expressions of a function at compiletime [25] 6 Although we rejected the liberalized let V rule which produced this particular expression, it is perfectly reasonable to ....
J. Field. On laziness and optimality in lambda interpreters: Tools for specification and analysis. In Proc. ACM Conference on Principles of Programming Languages, San Francisco, 1990.
....In 1978, L evy introduced the notion of redex family in the calculus, with the aim to formally capture an intuitive idea of optimal sharing between copies of a same redex. For a long time, no calculus implementation has been able to achieve the theoretical performance fixed by L evy (see [6]) and it is only in recent years [10, 7] that this problem has been finally solved (see also [3, 11] for a generalization of these results to a wider class of higher order term rewriting systems) In order to comfort his notion of family, L evy proposed several alternative definitions, inspired ....
J. Field. On laziness and optimality in lambda interpreters: tools for specification and analysis. In Proceedings 17 th ACM Symposium on Principles of Programming Languages, pages 1 -- 15, 1990.
....the background for our work and some related work. In section 3, we study dependency analysis and caching in the pure calculus. In sections 4, we extend our techniques to a more realistic language; this language includes records and has a weak operational semantics based on explicit substitutions [ACCL91, Fie90]. 2 Motivation and Related Work The motivation for this work arose in the context of a systemmodelling system called Vesta [LM93, HL93] roughly a replacement for tools like make and rcs. In Vesta, the analogue of a makefile is a program written in a specialized, untyped, higher order, ....
John Field. On laziness and optimality in lambda interpreters: Tools for specification and analysis. In Proceedings of the Seventeenth Annual ACM Symposium on Principles of Programming Languages, pages 1--15, 1990.
....a theoretical notion of optimality for calculus normalization. Roughly speaking, a reduction technique is optimal if it is able to profit of all the sharing expressed in initial term, avoiding useless duplications. For a long time, no implementation was able to achieve L evy s performance (see [Fie90] for a quick survey) People started already to doubt of the existence of optimal evaluators, when Lamping and Kathail independently found a solution [Lam90,Ka90] The graph reduction technique proposed by Lamping, that looks particularly promising for an actual implementation, has been then ....
J. Field. On laziness and optimality in lambda interpreters: tools for specification and analysis. Proc. of the 17th ACM Symposium on Principles of Programmining Languages (POPL 90). 1990.
....L evy s thesis raised two different kinds of problems: ffl to get some evidence that his abstract notion of sharing could be feasable; actually, no traditional implementation of calculus (supercombinators, environment machines, etc. is able to share all redexes in Levy s families (see [Fie90] for a discussion) ffl to understand if the lower bound to the complexity of the reduction provided by the lenght of the family reduction could be actually reached (or at least approached, say, up to some polinomial order) Partially supported by the ESPRIT Basic Research Project 6454 ....
J. Field. On laziness and optimality in lambda interpreters: tools for specification and analysis. Proc. of the 17th ACM Symposium on Principles of Programmining Languages (POPL 90). 1990.
....starting point for the derivation and verification of lower level implementations. In short, the calculus is a good calculus for a call by need language in Plotkin s sense. Unlike many others, we are not interested in capturing the optimality of reduction strategies (Maranget, 1991; Yoshida, 1993; Field, 1990; Kathail, 1990; Gonthier y Abramsky and Ong (1990; 1988) explored the model theoretic properties of this calculus. They called it the lazy lambda calculus , even though this calculus does not at all address the laziness of implementations. The Call By Need Lambda Calculus 3 et al. 1992; ....
Field, J. (1990). On laziness and optimality in lambda interpreters: Tools for specification and analysis. Pages 1--15 of: Proc. ACM Conference on Principles of Programming Languages, San Francisco.
....stages can preserve the asymptotic time and space usage in representing and manipulating types. To achieve this property, we present a novel and efficient representation scheme for the FLINT type calculus. Our main idea is to combine hash consing, memoization, and advanced lambda encoding [24, 1, 9] to ensure that (1) types are always represented as dags; 2) type reductions are done on a by need basis; and (3) the cost of handling types is proportional to the size of the dag representations. In a companion paper [33] we have presented a new optimal type lifting algorithm that lifts all ....
....languages, but none of them have attempted to scale their implementations to handle large types; in fact, all these compilers have reported extremely slow compilation times as a result of keeping types during compilation. 2 ffl We combine hash consing, memoization, and advanced lambda encoding [24, 1, 9] to support efficient type representation and manipulation. Although each of these techniques has been researched and implemented before, nobody has ever tried to combine them to represent compiler type information. Combining these techniques is crucial yet non trivial, as we will demonstrate in ....
[Article contains additional citation context not shown here]
J. Field. On laziness and optimality in lambda interpreters: Tools for specification and analysis. In Seventeenth Annual ACM Symp. on Principles of Prog. Languages, pages 1--15, New York, Jan 1990. ACM Press.
....in the area of slicing of higher order programs. There have been two prominent approaches. ffl Field and Tip [20] have a very detailed study of the concept of slicing associated with left linear term rewriting systems(TRS) 32] As the semantics of a programming language can be provided as a TRS [1, 17, 18], the techniques developed, in their general study of slicing for TRS, can be applied to define and compute slices associated with the evaluation of a program[19] ffl Another approach has been developed by Abadi et al. [2] to analyze and cache dependencies involved in the evaluation of terms. ....
J. Field. On laziness and optimality in lambda interpreters: Tools for specification and analysis. In Conference Record of the Seventeenth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 1--15. ACM, 1990.
....of what should be considered as an optimal implementation of the calculus. The optimal evaluator should always keep shared those redexes in a expression that have a common origin (e.g. that are copies of a same redex) For a long time, no implementation achieved Levy s performance (see [8] for a quick survey) Only recently, Lamping and Kathail have independently solved the problem [18,13] Unfortunately, both Levy s theoretical analysis and the reduction techniques proposed by Lamping and Kathail merely focus on the pure calculus. This is a great limitation in view of an actual ....
J. Field. On laziness and optimality in lambda interpreters: tools for specification and analysis. In Proceedings 17 th ACM Symposium on Principles of Programmining Languages, pages 1 -- 15, 1990.
....e mark value and environment ports. It is a simple observation that an edge between two nodes connects a value port with an environment port: continuations need values, and vice versa. 2. 2 L evy labels There are a variety of flavors of L evy labels; in this paper, we have relied on the version in [Fie90]. The set of labels is made up of a countably infinite set of atomic labels (such as integers) and closed under the operations of concatenation and underlining. Briefly, each subterm of the initial term is initially annotated with a unique label. As reduction occurs, labels are concatenated and ....
John Field. On laziness and optimality in lambda interpreters: tools for specification and analysis. 1990 ACM Symposium on Principles of Programming Languages, pp. 1--15.
....seriously, it implies that this concept of boundary is not essential. 5. 3 Cost models based on labelled calculus A more realistic, implementation independent cost model is immediately suggested by the (L evy) labelled calculus, of which there are many flavors: we have relied on the version in [Fie90]. Briefly, each subterm of the initial term is initially annotated with a unique label. As reduction occurs, labels are concatenated according to certain rules, so that the labels encode the history of the computation. When (x:E)F is reduced, the label on each free x in E is (reverse) ....
John Field. On laziness and optimality in lambda interpreters: tools for specification and analysis. 1990 ACM Symposium on Principles of Programming Languages, pp. 1--15.
....of what should be considered as an optimal implementation of the calculus. The optimal evaluator should always keep shared those redexes in a expression that have a common origin (e.g. that are copies of a same redex) For a long time, no implementation achieved L evy s performance (see [9] for a quick survey) Only recently, Lamping and Kathail have independently solved the problem [19, 14] Unfortunately, both L evy s theoretical analysis and the reduction techniques proposed by Lamping and Kathail merely focus on the pure calculus. This is a great limitation in view of an actual ....
J. Field. On laziness and optimality in lambda interpreters: tools for specification and analysis. In Proceedings 17 th ACM Symposium on Principles of Programmining Languages, pages 1 -- 15, 1990.
....in C[y:f y y] Such expressions are indeed copied in lazy functional graph reduction implementations, and we do not view this effect as a shortcoming. Sharing of subterms across different instantiations of bound variables is addressed by optimal reduction strategies (Levy, 1980; Lamping, 1990; Field, 1990; Abadi et al. 1990; Maranget, 1991) Although the additional sharing of those calculi does allow the fewest possible reduction steps, it is not clear how useful optimal reduction is for compilation to efficient low level code. Yoshida (1993) presents a weak lambda calculus with explicit ....
....his rules do not guarantee that only values will be duplicated. A number of the rules do allow duplication of arbitrary terms, and whether one could restrict these rules to copy only values is an open question. Acknowledgements. The authors would like to thank Zena Ariola, Matthias Felleisen, John Field, Jeremy Gibbons, Christian Mossin, Kris Rose, David N. Turner, Karen Wood and a number of anonymous referees for valuable comments and discussions. ....
Field, J. (1990). On laziness and optimality in lambda interpreters: Tools for specification and analysis.
....similar to let constructs, and gives an optimal reduction strategy. Her calculus subsumes several of our reduction rules as structural equivalences. However, due to a different notion of observation, reduction in this calculus is not equivalent to reduction to WHNF. A number of researchers [Fie90, ACCL90, Mar91] have studied reductions that preserve sharing in calculi with explicit substitutions, especially in relation to optimal reduction strategies. Having different aims, the resulting calculi are considerably more complex than those presented here. The rest of this paper is organized ....
John Field. On laziness and optimality in lambda interpreters: Tools for specification and analysis. In Proc. 18th ACM Symposium on Principles of Programming Languages, San Francisco, California. ACM Press, January 1990.
....environment in a manner designed to overcome this difficulty. At a level of detail, our proposal shares features with the data structures used in [2] in implementing a normalization procedure. However, in a manner akin to other recent proposals deriving from the Categorical Combinators of Curien [1, 10, 13], it has the characteristic of reflecting the idea of an environment into the notation itself. There are two advantages to adopting this course. First, the resulting notation is fine grained enough to support a wide variety of reduction procedures on lambda terms, and the analysis undertaken here ....
....use is similar in spirit to that referred to as the interpretation method in [17] and used in [17] and [39] in establishing confluence properties of a combinator calculus. In the concluding section of this paper, we discuss the relationship of our work to that of others, especially that in [1] and [13]. 2 Logical preliminaries We are concerned in this paper with systems for rewriting expressions. Each such rewrite system is specified by a set of rule schemata. A rule schema has the form l r where l and r are expression schemata referred to as the lefthand side and the righthand side of the ....
[Article contains additional citation context not shown here]
John Field. On laziness and optimality in lambda interpreters: Tools for specification and analysis. In Seventeenth Annual ACM Symposium on Principles of Programming Languages, pages 1--15. ACM Press, January 1990.
....we prove the leftmost outermost strategy with sharing to be optimal in two distinct forms of weak calculi, formalizing a result widely known as a folk s theorem . The exact proof is complicated by the necessity of extending the TRS formalism in two new directions. As demonstrated in [5], finding optimal derivations in the full calculus is a much harder problem, and the effective strategies proposed by [11, 13] along the theoretical work of [15] are more complicated than simple lazy strategy. Acknowledgments I thank Jean Jacques L evy for many helpful discussions. I also thank ....
J. Field, "On Laziness and Optimality in Lambda Interpreters : Tools for Specification and Analysis". POPL'90.
....must enable this operation to be performed efficiently. In the preceding paper, we have described a notation for lambda terms, called the suspension notation, that provides a basis for meeting the requirements mentioned above. This notation is similar in spirit to those proposed in [ACCL90] and [Fie90] and that are based on the Categorical Combinators of Curien [Cur86] It also shares features with data structures that have been used in implementing fi reduction, most notably that in [AP81] Specifically, the suspension notation uses a scheme suggested by de Bruijn [Bru72] for eliminating ....
....of the notion. The definition that we present here adapts the one in [NW90] We then describe a graph based procedure for finding head normal forms for terms in the new notation. This procedure is presented in Standard ML and is similar to environmentbased interpreters like those in [HM76] and [Fie90] it differs from these mainly in that it finds head normal forms instead of weak head normal forms. It is also closely related to the simplifier presented in [AP81] In connection with the latter, we observe some of the value of a notation such as ours: it facilitates a complete proof of ....
[Article contains additional citation context not shown here]
John Field. On laziness and optimality in lambda interpreters: Tools for specification and analysis. In Seventeenth Annual ACM Symposium on Principles of Programming Languages, pages 1--15. ACM Press, January 1990.
....must enable this operation to be performed efficiently. In a previous paper [NW] we have described a notation for lambda terms called the suspension notation that provides a basis for meeting these various requirements. This notation is similar in spirit to those proposed in [ACCL90] and [Fie90] based on the Categorical Combinators of Curien [Cur86] It also shares features with data structures that have been used in implementing fi reduction, most notably those in [AP81] At a level of detail, the suspension notation uses a scheme suggested by de Bruijn [Bru72] for eliminating ....
....therefore be used in proving the correctness of these procedures. We illustrate this by using it to establish the correctness of a particular reduction procedure that we present. This procedure is similar to interpreters for the lambda calculus proposed by Henderson and Morris [HM76] and Field [Fie90] it differs from these mainly in that it finds head normal forms instead of only weak head normal forms. It is also closely related to the simplifier presented by Aiello and Prini [AP81] With respect to the latter, we note that our notation facilitates a complete proof of correctness of our ....
[Article contains additional citation context not shown here]
John Field. On laziness and optimality in lambda interpreters: Tools for specification and analysis. In Seventeenth Annual ACM Symposium on Principles of Programming Languages, pages 1--15. ACM Press, January 1990.
....in the area of slicing of higher order programs. There have been two prominent approaches. ffl Field and Tip [22] have a very detailed study of the concept of slicing associated with left linear term rewriting systems(TRS) 38] As the semantics of a programming language can be provided as a TRS [1, 19, 20], the techniques developed, in their general study of slicing for TRS, can be applied to define and compute slices associated with the evaluation of a program[21] ffl Another approach has been developed by Abadi et al. [2] to analyze and cache dependencies involved in the evaluation of terms. ....
J. Field. On laziness and optimality in lambda interpreters: Tools for specification and analysis. In Conference Record of the Seventeenth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 1--15. ACM, 1990.
No context found.
John Field. On laziness and optimality in lambda interpreters: Tools for specification and analysis. In Proceedings of the Seventeenth Annual ACM Symposium on Principles of Programming Languages, pages 1--15, 1990.
No context found.
Field, J., (1990) On laziness and optimality in lambda interpreters: tools for specification and analysis, 17 Annual Symposium on Principles of Programming Languages, San Fransisco, 1-15.
No context found.
John Field. On laziness and optimality in lambda interpreters: tools for specication and analysis. 1990 ACM Symposium on Principles of Programming Languages, pp. 1-15.
No context found.
Field, J. 1990. On laziness and optimality in lambda interpreters: Tools for speciøcation and analysis. Pages 115 of: Proceedings of the 17th annual ACM symposium on Principles Of Programming Languages, Orlando (Fla., USA). ACM, San Fransisco.
No context found.
Field, J., On Laziness and Optimality in Lambda Interpreters: Tools for Specification and Analysis. In [?], pp. 1-15.
No context found.
John Field. On laziness and optimality in lambda interpreters: Tools for specification and analysis. In Seventeenth Annual ACM Symposium on Principles of Programming Languages, pages 1--15. ACM, January 1990.
No context found.
John Field. On laziness and optimality in lambda interpreters: tools for specification and analysis. 1990 ACM Symposium on Principles of Programming Languages, pp. 1--15.
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