| L. Correnson, E. Duris, D. Parigot, and G. Roussel. Declarative program transformation: a deforestation case-study. In G. Nadathur, editor, Principles and Practice of Declarative Programming PPDP'99, volume 1702 of Lect. Notes in Comp. Sci., pages 353--369, Paris, France, Oct. 1999. |
....not easily mechanizable. Svenningsson proposed a fusion rule to cancel destroy unfoldr pairs, which are dual of foldr build pairs in shortcut fusion [16] However, his method can only deal with accumulating parameters in consumer functions. In connection to attribute grammars, Correnson et al. [4] utilized the attribute grammar composition method in order to deforest functional programs, by a translation of functional programs into attribute grammars. This however indicates that the ability of their deforestation method is limited by that of attribute grammars. Kakehi et al. 12] proposed ....
L. Correnson, E. Duris, D. Parigot, and G. Roussel. Declarative program transformation: A deforestation case-study. In Principles and Practice of Declarative Programming, volume 1702 of LNCS, pages 360--377. Springer Verlag, 1999.
....and attribute grammar communities. In a separate paper, one of us (Backhouse) has shown how abstract interpretation can bene t the study of attribute grammars [2] Conversely, Correnson, Parigot and their coworkers have argued that transformations on attribute grammars bene t functional programs [4, 22]. Acknowledgements Eric Van Wyk and Kevin Backhouse are supported by a grant from Microsoft Research. We would like to thank our colleagues both at Microsoft and at Oxford for many interesting discussions on the topic of forwarding. 13 ....
L. Correnson, E. Duris, D. Parigot, and G. Roussel. Declarative program transformation: a deforestation case-study. In G. Nadathur, editor, Principles and Practice of Declarative Programming, volume 1702, pages 353-369. Lecture Notes in Computer Science, 1999.
....technique for eliminating intermediate results is Wadler s deforestation [28] an algorithmic instance of the unfold fold technique. However, classical deforestation does not succeed here, due to its well known problem of not reaching accumulating parameters [3] Kuhnemann [16] Correnson et al. [6] tackled this problem by a program transformation approach based on attribute grammars. Primitive recursive function definitions are transformed into attribute grammars, respectively the more abstract attributed tree transducers [8] Under certain conditions two attribute grammars can be composed ....
....f 2 x i #1 # r L[ # 2 #1 v1,1 v1,s ] 2 # r # v r # ,1 v r # ,s ] is produced. Figure 3: Lazy Composition transformation rules. Figure 2, which cannot be transformed into an attribute grammar of the form required for the deforestation method by attribute grammar composition [16, 6]. 4.1 Termination and Correctness Lemma 1. The lazy composition transformation terminates. Proof. We measure an expression # to which we want to apply with the pair of natural numbers (p, q) where p is the maximal size of a recursion argument of a call to f 2 in #, and q is the ....
L. Correnson, E. Duris, D. Parigot, and G. Roussel. Declarative program transformation: A deforestation case-study. In Principles and Practice of Declarative Programming, Paris, France, Proceedings, volume 1702 of LNCS, pages 360--377. Springer-Verlag, 1999.
....fast reverses) an optimization which shortcut deforestation cannot do. This is due to the restriction to map style list producers and consumers. In fact, the laws for dmap exhibit some interesting combinatorics. Recently, composition methods using results of attribute grammars have been proposed [4, 13, 14, 16] which allow transformations not possible by ordinary deforestation. The problem of accumulator composition studied in this paper is a restricted instance of the more powerful composition of attribute grammars (or also tree transducers [6] 5, 7, 8] While our class is very limited compared to ....
....than ordinary deforestation or our techniques do. In order to enjoy this benefit, however, we have first to translate functions into attribute grammars, then compose, and finally translate back again into the functional world. As another drawback, attribute grammars sometimes su#er from copy rules [4] which just pass the information intact to other attributes. With our composition rule, the handling and elimination of copy rules are straightforward. A related technique [15] based on the composition of attribute grammars but without transforming functions into the attribute world, can also ....
L. Correnson, E. Duris, D. Parigot, and G. Roussel. Declarative program transformation: A deforestation case-study. In G. Nadathur (ed.), Principles and Practice of Declarative Programming, LNCS 1702, 360--377, Springer-Verlag 1999.
....the composition of fast reverses) which shortcut deforestation cannot do. This is due to the restriction to map style list producers and consumers. In fact, the laws for dmap show some interesting combinatorics. Recently, composition methods using results of attribute grammars have been proposed [4, 12, 13, 15] which allow transformations not possible by ordinary deforestation. The problem of accumulator composition studied in this note is a restricted instance of the more powerful composition of attribute grammars (or also tree transducers [6] 5, 7, 8] While our class is very limited compared to the ....
....than ordinary deforestation or our techniques do. In order to enjoy this bene t, however, we have rst to translate functions into attribute grammars, then compose, and nally translate back again into the functional world. As another drawback, attribute grammars sometimes su er from copy rules [4] which just pass the information intact to other attributes. With our composition rule, the handling and elimination of copy rules are straightforward. A related technique [14] based on the composition of attribute grammars but without transforming functions into the attribute world, can also ....
L. Correnson, E. Duris, D. Parigot, and G. Roussel. Declarative program transformation: A deforestation case-study. In G. Nadathur, ed., Proc. PPDP, LNCS vol. 1702, 360-377, Paris, France, 1999. 17
....method, called descriptional composition, which derives a single deforested AG from a given composition G ffi F of two attribute coupled grammars. Following Ganzinger and Giegerich, several extensions and renements 3 Nakano Nishimura to the descriptional composition method have been studied [7,8,9]. 1.2 Deriving one pass interactive event based programs Though a deforested AG for document can be derived by applying the descriptional composition method, it is not enough for solving the present problem. An AG is only a specication, and hence is not directly executable. The deforested AG ....
....apply the existing descriptional composition method to the present problem. This section is neither complete nor formal and only gives a short summary of the descriptional composition method through the running example. For a detailed, formal denition of the framework, readers are deferred to [10,11,8,9]. To obtain a single deforested AG from the composite specication unparse ffi T ffi parse (d) we need to apply the descriptional composition twice: We rst compose T with parse (d) and then unparse with the resulting AG. As for the running example, the composition of the identity ....
[Article contains additional citation context not shown here]
L. Correnson, E. Duris, D. Parigot, and G. Roussel. Declarative program transformation: A deforestation case-study. In Principles and Practice of Declarative Programming, volume 1702 of LNCS, pages 360377. Springer Verlag, 1999.
....Furthermore, because the semantics is a functional program, one immediately obtains a prototype for experimenting with newly defined features. Naturally the results of this paper do not stand on their own, and many of the ideas have been gleaned from the attribute grammar literature, in particular [5, 6, 16, 19, 20, 23, 26]. Especially the thesis by Stephen Adams [1] has been an inspiration for this work. Attribute grammars and functional programming There exists a well known encoding of attribute grammars into programming languages that have lazy evaluation [14, 18] This encoding has been dismissed by others on ....
L. Correnson, E. Duris, and D. Parigot. Declarative program transformation: a deforestation case-study. In G. Nadathur, editor, Principles and Practice of Declarative Programming, volume 1702 of Lecture Notes in Computer Science, pages 353--369. Springer Verlag, 1999.
....Furthermore, because the semantics is a functional program, one immediately obtains a prototype for experimenting with newly de ned features. Naturally the results of this paper do not stand on their own, and many of the ideas have been gleaned from the attribute grammar literature, in particular [5, 6, 16, 19, 20, 23, 26]. Especially the thesis by Stephen Adams [1] has been an inspiration for this work. Attribute grammars and functional programming There exists a well known encoding of attribute grammars into programming languages that have lazy evaluation [14, 18] This encoding has been dismissed by others on ....
L. Correnson, E. Duris, and D. Parigot. Declarative program transformation: a deforestation case-study. In G. Nadathur, editor, Principles and Practice of Declarative Programming, volume 1702 of Lecture Notes in Computer Science, pages 353-369. Springer Verlag, 1999.
No context found.
L. Correnson, E. Duris, D. Parigot, and G. Roussel. Declarative program transformation: a deforestation case-study. In G. Nadathur, editor, Principles and Practice of Declarative Programming PPDP'99, volume 1702 of Lect. Notes in Comp. Sci., pages 353--369, Paris, France, Oct. 1999.
No context found.
L. Correnson, E. Duris, D. Parigot, and G. Roussel. Declarative program transformation: a deforestation case-study. In G. Nadathur, editor, Principles and Practice of Declarative Programming PPDP'99, volume 1702 of Lect. Notes in Comp. Sci., pages 353--369, Paris, France, Oct. 1999.
No context found.
L. Correnson, E. Duris, D. Parigot, and G. Roussel. Declarative program transformation: a deforestation case-study. In G. Nadathur, editor, Principles and Practice of Declarative Programming PPDP'99, volume 1702 of Lect. Notes in Comp. Sci., pages 353--369, Paris, France, Oct. 1999.
....inspired from other languages approaches [7, 4] The common idea of these techniques is to deduce, from type de nitions, a mapping between types. Moreover, the use of an adapter generates a intermediate data structure that could be discard. We hope to adapt functional deforestation methods [3, 15] to statically eliminate the adapter implementation. 4.2 Default traversal Another approach, introduced by Lieberherr [9] as adaptive programming introduced the notion of default traversals on every structure subtypes which do not have a speci ed visit method. The writing is therefore more ....
Loic Correnson, Etienne Duris, Didier Parigot and Gilles Roussel. Declarative Program Transformation: a Deforestation case-study. International Conference on Principles and Practice of Declarative Programming (PPDP'99), Paris, October 1999.
No context found.
Lo c Correnson, Etienne Duris, Didier Parigot, and Gilles Roussel. Declarative program transformation: A deforestation case-study. In Principles and Practice of Declarative Programming, volume 1702 of LNCS, pages 360--377. Springer Verlag, 1999.
No context found.
Correnson, L., E. Duris, D. Parigot, and G. Roussel: 1999, `Declarative program transformation: A deforestation case-study'. In: Principles and Practice of Declarative Programming, Paris, France, Proceedings, Vol. 1702 of LNCS. pp. 360--377.
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