| Z. M. Ariola and Arvind. A syntactic approach to program transformation. In Proceedings of the symposium on Partial Evaluation and Semantics-Based Program Manipulation, pp. 116--129. ACM press, SIGPLAN notices, 26(9), September 1991. |
....core. In addition Id also contains logical variables in the form of I structures and mutable variables in the form of M structures. The compiler of Id is expressed as a series of translations into simpler and simpler languages. In our prior work we have introduced the Kid (Kernel id) language [3] and the P TAC (Parallel Three Address Code) language [2] and provided the translation of Id into Kid and of Kid into P TAC [4] We have formalized many optimizations in the Id compiler in terms of source to source transformations on these intermediate languages. Functional subset of P TAC can ....
Z. Ariola and Arvind. A Syntactic Approach to Program Transformations. In Proc. ACM SIGPLAN Symposium on Partial Evaluation and Semantics Based Program Manipulation, New Haven, CT, June 1991.
.... is to work with an operational model that takes into account the sharing of expressions and evaluations [5] Unfortunately this may overly complicate the calculus, and is likely to be impractical although there are some promising (less general) approaches to modelling sharing and storage, [3, 25], which may be prove usable. Another solution is to move towards the compositional approaches mentioned in the introduction. A suitable interface between the compositional approach in [37] which differs from that of [42] in its use of genuine strictness rather than absence information) from and ....
Z. M. Ariola and Arvind. A syntactic approach to program transformation. In Proceedings of the symposium on Partial Evaluation and Semantics-Based Program Manipulation, pp. 116--129. ACM press, SIGPLAN notices, 26(9), September 1991.
....of Abadi, Cardelli, Curien, and L evy [1] to handle cyclic structures. The chosen approach is similar to the enriched calculus used to describe and implement functional programming languages by, e.g. Peyton Jones [20] and to the B calculus graph reduction system of Ariola and Arvind [3] in that they intend to support mutual recursion directly. However, it differs in that there is no implied underlying execution model: the description presented here is a pure, self contained rewriting system. The work described here has been inspired by the substitution pushing used by the ....
Z. M. Ariola and Arvind, A Syntactic Approach to Program Transformations, in PEPM '91---Symposium on Partial Evaluation and Semantics-based Program Manipulation (Yale University, New Haven, Connecticut, USA), 17--19 June 1991, pp. 116--129.
....specification. At the resulting functional expressions. At the meta specification. Here we consider the first of the above cases and, in particular, the unconditional computability statements of LL1. The second case has been studied elsewhere and by numerous authors, see, for instance, [2, 1, 5]. Work has also been done on applying PD at the meta specification level [4, 15] Before moving further on we formalize the notion PD in the SSP framework. 3.1 Partial deduction of LL1 specifications It is natural to informally express PD of unconditional computability statements as follows. Let ....
M. Z. Ariola and Arvind. A syntactic approach to program transformation. In Proceedings of the symposium on Partial Evaluation and Semantics-Based Program Manipulation (PEPM'91), pages 116--129. ACM press, 1991.
....A notion of answer associated with a Kid term is developed. This notion of answer extends the usual notions of normal forms in calculus, and is not directly related to termination issues. A normalizing interpreter for Kid, with respect to this definition of the answer is presented in [2]. Optimizations performed by the Id compiler are formally expressed as source to source transformations in Kid. Different notions of equality are defined, such as tree equivalence and graph equivalence. These notions, though syntactic, are powerful enough to prove correctness of some of the common ....
Z. M. Ariola and Arvind. A Syntactic Approach to Program Transformations. In Proc. ACM SIGPLAN Symposium on Partial Evaluation and Semantics Based Program Manipulation, Yale University, June 1991. Also: CSG Memo 295, MIT Laboratory for Computer Science, 545 Technology Square, Cambridge, MA 02139, USA.
....levels in the framework of SSP: ffl At the LL1 specification. ffl At the resulting functional expressions. ffl At the meta specification. Here we consider the LL1 specification. Partial evaluation of functional expressions has been studied elsewhere and by numerous authors, see, for instance, [2, 1, 5]. Work has also been done on applying PD at the meta specification level [4, 15] where statements of the NUT language are considered as logical formulae. Before moving further on we formalize the notion of PD in the SSP framework. 8 M. Matskin and J. Komorowski Partial Structural Synthesis of ....
M. Z. Ariola and Arvind, A syntactic approach to program transformation, Proceedings of the symposium on Partial Evaluation and Semantics-Based Program Manipulation (PEPM'91), ACM press, pp 116--129, 1991.
....We will in this paper concentrate on the first of the above areas especially on the unconditional computability statements of LL1. We note in passing that much work in partial evaluation has been performed in functional programming, and approaches dealing with languages based on calculus exist [1, 23]. Work has also been done on applying partial deduction principles on the meta specification level of NUT [7, 20] 4.1 Partial deduction of LL1 specifications Partial deduction of unconditional computability statements can be informally described as follows: Let A,B and C be propositional ....
M. Z. Ariola and Arvind. A syntactic approach to program transformation. In Proceedings of the symposium on Partial Evaluation and Semantics-Based Program Manipulation (PEPM'91), pages 116--129. ACM press, 1991.
.... operational model that takes into account the sharing of expressions and evaluations (e.g. BvEG 87] Unfortunately this may tend to overly complicate the calculus, and is likely to be impractical although there are some promising (less general) approaches to modeling sharing and storage, AA91,MT91a] which may be prove usable. Another solution is to move towards the compositional approaches mentioned in the introduction. A suitable interface between the compositional approach in [San90b] which differs from that of [Wad88] in its use of genuine strictness rather than absence ....
Z. M. Ariola and Arvind. A syntactic approach to program transformation. In Proceedings of the symposium on Partial Evaluation and SemanticsBased Program Manipulation. ACM press, SIGPLAN notices, 26(9), September 1991.
.... this translation be performed within the compiler: should we do it before or after other program transformations such as lifting or pattern matching Moreover, most of the rewrite rules (Figure 5) and the canonicalization rules (Figure 6) may be used at compile time as compiler optimizations [2]. We may even want to postpone the barrier translation until after the optimization phase because the translation increases the complexity of the program. Does it matter (semantically) when this translation is performed 6.1 Canonicalization vs. Barrier Translation Unfortunately, the barrier ....
Zena M. Ariola and Arvind. A Syntactic Approach to Program Transformations. In Proc. Partial Evaluation and Semantics-Based Program Manipulation, pages 116--129. ACM Press, September 1991.
....should this translation be performed within the compiler. Should we translate the barriers before or after other program transformations such as lifting, pattern matching etc. are performed Moreover, many reduction rules shown in Figure 5 may be used at compile time as compiler optimizations [2]. We may even want to postpone the barrier translation until after the optimization phase because the translation increases the complexity of the program. Does it matter (semantically) when this translation is performed 6.1 Canonicalization vs. Barrier Translation Unfortunately, the barrier ....
Zena M. Ariola and Arvind. A Syntactic Approach to Program Transformations. In Proc. Partial Evaluation and Semantics-Based Program Manipulation, pages 116--129. ACM Press, September 1991.
....specification. ffl At the resulting functional expressions. ffl At the meta specification. Here we consider the first of the above cases and, in particular, the unconditional computability statements of LL1. The second case has been studied elsewhere and by numerous authors, see, for instance, [2, 1, 5]. Work has also been done on applying PD at the meta specification level [4, 15] Before moving further on we formalize the notion PD in the SSP framework. 3.1 Partial deduction of LL1 specifications It is natural to informally express PD of unconditional computability statements as follows. ....
M. Z. Ariola and Arvind. A syntactic approach to program transformation. In Proceedings of the symposium on Partial Evaluation and Semantics-Based Program Manipulation (PEPM'91), pages 116--129. ACM press, 1991.
.... so similar (as long as only terminating computations are considered interesting) This is why the chosen approach is similar to the enriched calculi used to describe and implement functional programming languages [11, 17] and to the B calculus graph reduction system of Ariola and Arvind [3] and other graph rewriting systems in the intent to support mutual recursion directly. However, it differs in that there is no implied underlying execution model or evaluation strategy the descriptions presented here are pure CTRS. Overview of the paper In x2 we summarize the calculus ....
Z. M. Ariola and Arvind, A Syntactic Approach to Program Transformations, in "PEPM '91---Symposium on Partial Evaluation and Semantics-based Program Manipulation" (Yale University, New Haven, Connecticut, USA), 17--19 June 1991, pp. 116--129.
....By defining a particular reduction order and extending their rules to discard unneeded redexes, laziness can be modelled. A further point of contact is that, when providing a semantics for the kernel of Id, Ariola and Arvind use a similar technique to ours for making closures explicit [AA91]. 3 Modelling Laziness The semantics we present is an intermediate level operational semantics, lying midway between a straightforward denotational semantics (or, equivalently, the operational semantics of Abramsky and Ong) and a full operational semantics of an abstract machine. As such it ....
Z.Ariola and Arvind, A Syntactic Approach to Program Transformations, in Proc. SIGPLAN PEPM 91, New Haven, pp 116-129, 1991.
.... the literature that preserve important control regions such as, conditionals, loops, and procedure bodies during transformations [27, 14] This not only simplifies code generation, but can also provides a framework for direct operational semantics of the transformations as a graph rewriting system [2]. It is also interesting to note that with careful design that preserves sharing, a textual representation becomes a dual (in the graph theoretic sense) of a graphical representation. We use such a representation during the various compilation phases of Id [3] 3.6 Correctness The overall ....
Zena M. Ariola and Arvind. A Syntactic Approach to Program Transformations. In Proceedings of the ACM Symposium on Partial Evaluation and Semantics-based Program Manipulation, Yale University, pages 116--129, New Haven, Connecticut, June 1991. Also: CSG Memo 322, Laboratory for Computer Science, MIT.
....single product disjunct. We also assume a rich set of primitive functions for basetypes and array construction selection, as well as standard predefined algebraic datatypes such as list and bool. The operational semantics of this language has been given elsewhere in terms of graph rewriting rules [4]. The Id source language supports special syntactic constructs such as list and array comprehensions, complex pattern matching, and nested function and type declarations [11] The Id source program is translated into a Kernel Id program using standard front end analyses and transformations such as ....
.... pattern matching, and nested function and type declarations [11] The Id source program is translated into a Kernel Id program using standard front end analyses and transformations such as comprehension desugaring, scope analysis, type checking, pattern matching compilation, and lambdalifting [4, 8, 14]. The lambda lifting transformation is not essential for the purpose of this paper, but it helps to simplify our description of the Kernel Id language. Expressions F; x; y; z : 2 Identifier SE 2 Simple Expression PF n 2 Primitive Fn. with n arguments Case m T 2 m way Case Dispatch ....
Zena M. Ariola and Arvind. A syntactic approach to program transformations. In Proceedings of the ACM SIGPLAN Symposium on Partial Evaluation and Semantics Based Program Manipulation, June 1991.
....fi reduction itself. In the application (x:e 1 ) e 2 the traditional fi rule makes copies of the argument expression e 2 for each occurrence of the formal parameter x. In an effort to solve this problem, several researchers have added let blocks to the language and replaced the fi rule with fi G [4, 10, 1, 3]: x:e 1 ) e 2 Gamma f x 0 = e 2 in e 1 [x 0 =x] g (fi G ) where x 0 is a variable which does not otherwise occur. A central feature of the fi G rule is that it performs no substitution at all; instead we add new rules for instantiating the values of variables. These new rules can be ....
Zena M. Ariola and Arvind. A Syntactic Approach to Program Transformations. In Proc. Symp. on Partial Evaluation and Semantics Based Program Manipulation, Yale University, New Haven CT, USA, June 1991. Also CSG Memo 322, MIT Lab for Computer Science.
....infinite data structures. 2 This parameter is an integer value and effectively indicates the number of levels down to which recursive data structures must be forced. The printing of an infinite object can then be seen as the limit of its printing as the run time demand goes from 0 to 1 [5]. In our experiments, the initial run time demand was set to level 50, so that most programs producing finite results got fully evaluated. Speculative laziness through parallel headstrict speculation Any notion of speculation should impose some bound on the amount of speculative work. In our ....
Z. Ariola and Arvind. A syntactic approach to program transformations. In Symp. on Partial Evaluation and Semantics-Based Program Manipulation, pages 116--129. ACM Press (SIGPLAN Notices), 1991.
....which is either a constant or a variable. Some examples of primitive functions are the operator, the application operator Apply, and the array constructor I array. A simplified description of the language is given in Figure 3; for a complete understanding of Kid the reader may refer to [4]. As a strongly typed language, Kid needs a different case expression and a set of selector and constructor operators for each algebraic type. Since a discussion of user defined types will complicate our presentation without necessarily providing additional insight, we have only included the ....
....defines how arguments are shared; an essential feature for Id extended with I structures and M structures. Sharing is expressed by giving a name to each subexpression and by allowing substitution of values and variables only. This idea can be formalized in a Contextual Rewriting Systems (CRS) [2, 4] by the following Substitution rules: X = V X Gamma Gamma V X = Y X Gamma Gamma Y where V is either an Integer or a Boolean or an Error. Intuitively, the above rule should be read as follows: occurrences of X in a program M can be rewritten to V, only if the binding X = V appears in the ....
Z. M. Ariola and Arvind. A Syntactic Approach to Program Transformations. In Proc. ACM SIGPLAN Symposium on Partial Evaluation and Semantics Based Program Manipulation, Yale University, 1991.
.... In fact, we have successfully described the operational semantics and the compilation of the implicitly parallel language Id [28] using two different graph rewriting systems, called Kid (Kernel Id) and P TAC (Parallel Relating Graph and Term Rewriting via Bohm Models 2 Three Address Code) [2, 3, 4], where P TAC describes sharing in a first order system, while Kid includes abstraction. Term graph rewriting has been described in the literature in terms of either category theory notions [12, 13, 14, 15, 22, 27, 30] or more implementation oriented concepts [9, 11, 29, 32] The first ....
Z. M. Ariola and Arvind. A syntactic approach to program transformations. In Proc. ACM SIGPLAN Symposium on Partial Evaluation and Semantics Based Program Manipulation, Yale University, New Haven, CT, June 1991.
....these concerns. Moreover, due to its implicit parallelism it is also suitable as an intermediate language for compilation on parallel machines. We have successfully described the operational semantics and the compilation of Id [11] using two different graph rewriting systems, Kid and P TAC [1, 2, 3]. Graph rewriting has usually been described in terms of labeled graphs and homomorphisms [5] Instead, in [4] we have introduced a novel approach to graph rewriting systems (GRSs) where the graph is represented as a set of mutually recursive equations, i.e. a letrec expression, and reduction ....
....more machinery. Since Print equality deals with expansions of term, i.e. trees, it is natural that if a rule in a GRS can distinguish between different sharing of subterms, then Print would not be a congruence. A way of assuring that j BT is a congruence is to show that for any context C[2] the behavior of C[M ] can be inferred from the observations about M ; that is, 8C[2] C[M ] j BT F fC[ a] j a 2 Print (M )g where Print ( F S) S fPrint (s) j s 2 Sg, and a represents the GRS form of a TRS term. This can be considered as a syntactic version of the continuity of ....
[Article contains additional citation context not shown here]
Z. Ariola and Arvind. A Syntactic Approach to Program Transformations. In Proc. ACM SIGPLAN Symposium on Partial Evaluation and Semantics Based Program Manipulation, Yale University, New Haven, CT, June 1991.
....x 1 = Store(X; I; Z) x = Select(X; I) x = Z which can be assigned a natural interpretation that if there is a Store in the context of a Select then the Select can be rewritten to Z. It is for this reason that in our earlier work we had called our system a Contextual Rewriting System [AA89, AA91b, AA91a] However, Jean Jacques L evy convinced us that our system basically described graph rewriting, so we renamed it simply a GRS. Definition 6.2.2 (GRS) A GRS is a structure (A(F) R) where A(F) is the set of GRS terms defined over signature F , and R is a set of GRS rules. 6.3 BASIC RULES ....
....F(x 1 ) x = 1 then A(0) jg B(0) however, F(A(0) 6j g F(B(0) 6.7 CONCLUSION The motivation for this work came from a desire to formalize the compilation process of Id as a series of translations into simpler and simpler languages. To that end we have introduced the Kid (Kernel id) language [AA91b] and the P TAC (Parallel Three Address Code) language [AA89] We also provided the translation of Id into Kid and of Kid into P TAC [AA91a] P TAC can be seen as an example of GRS, while Kid is more general due to the presence of abstraction. This approach has lead to the formalization of ....
[Article contains additional citation context not shown here]
Z. M. Ariola and Arvind. A syntactic approach to program transformations. In Proc. ACM SIGPLAN Symposium on Partial Evaluation and Semantics Based Program Manipulation, Yale University, New Haven, CT, June 1991.
....) distribute( Out1 ; Out2 ) Out1 : Out2 : In order to translate the above clauses we need to extend Kernel 0 by allowing multiple return values. The need for multiple return value facilities in intermediate languages has been illustrated in the context of functional languages [3]. A new language, Kernel 1 , is obtained by changing the production of the syntactic category Block as follows: Block : f[V ariable Delta Delta Delta V ariable = T erm] in SE Delta Delta Delta SEg Thus the translation of the above program will be: distribute( send(1; X) j Xs] f ....
Z. M. Ariola and Arvind. A Syntactic Approach to Program Transformation. In ACM SIGPLAN Symposium on Parallel Evaluation and Semantics Based Program Manipulation, pages 116--129, New Haven, June 1991. Yale University, ACM Press.
....0 ) distribute( Out1; Out2) Out1 = Out2 = In order to translate the above clauses we need to extend Kernel 0 by allowing multiple return values. The need for multiple return value facilities in intermediate languages has been illustrated in the context of functional languages [3]. A new language, Kernel 1 , is obtained by changing the production of the syntactic category Block as follows: Block : f[V ariable Delta Delta Delta V ariable = T erm] in SE Delta Delta Delta SEg Thus the translation of the above program will be: distribute( send(1; X) j Xs] f ....
Z. M. Ariola and Arvind. A Syntactic Approach to Program Transformation. In ACM SIGPLAN Symposium on Parallel Evaluation and Semantics Based Program Manipulation, New Haven, June 1991. Yale University, ACM Press.
....core. In addition Id also contains logical variables in the form of I structures and mutable variables in the form of M structures. The compiler of Id is expressed as a series of translations into simpler and simpler languages. In our prior work we have introduced the Kid (Kernel id) language [3] and the P TAC (Parallel Three Address Code) language [2] and provided the translation of Id into Kid and of Kid into P TAC [4] We have formalized many optimizations in the Id compiler in terms of source to source transformations on these intermediate languages. Functional subset of P TAC can be ....
Z. Ariola and Arvind. A Syntactic Approach to Program Transformations. In Proc. ACM SIGPLAN Symposium on Partial Evaluation and Semantics Based Program Manipulation, New Haven, CT, June 1991.
No context found.
Z. M. Ariola and Arvind. A syntactic approach to program transformation. In Proceedings of the symposium on Partial Evaluation and Semantics-Based Program Manipulation, pp. 116--129. ACM press, SIGPLAN notices, 26(9), September 1991.
First 50 documents
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