42 citations found. Retrieving documents...
Leonidas Fegaras, Tim Sheard, and Tong Zhou. Improving programs which recurse over multiple inductive structures. In ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation (PEPM'94), pages 21--32, Orlando, Florida, June 1994.

 Home/Search   Document Details and Download   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents

Shortcut Fusion for Accumulating Parameters Zip-like Functions - Svenningsson (2002)   (4 citations)  (Correct)

.... data structures is a popular research subject and has received quite a lot of attention e.g. Wad84, Wad90, Chi92, GLJ93, SF93, TM95, Feg96, Chi99] Fegaras, Sheard and Zhou were (to our knowledge) the first group to attack to problem of fusing functions which recurse over multiple data [FSZ94]. They extended their previous method for fusing functions [SF93] to handle this wider class of functions. They rely on a normalisation algorithm which transforms function definitions. Their approach is rather powerful but it is unclear how well it would work in a compiler with real programs as ....

L. Fegaras, T. Sheard, and T. Zhou. Improving programs which recurse over multiple inductive structures. In ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation, Orlando, Florida, June 1994.


Equational Semantics - Correnson (1999)   (2 citations)  (Correct)

....study of various existing methods to perform deforestation and partial evaluation in various programming paradigm. Historically, we compared [3, 2, 1] the deforestation of attribute grammars [5, 6, 12] the Wadler deforestation [16, 13, 7] in functional programming, many works about folds [4, 9] and hylomorphisms [10, 15] In each of these formalisms, there were many interesting ideas. But they were sometimes restricted to one particular class of algorithms but sometimes more powerful than another method on the same class. However, attribute grammars seems to provide a kind of ....

Leonidas Fegaras, Tim Sheard, and Tong Zhou. Improving programs which recurse over multiple inductive structures. In ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation (PEPM'94), pages 21--32, Orlando, Florida, June 1994.


Equational Semantics - Correnson, Duris, Parigot, Roussel (1999)   (2 citations)  (Correct)

....5 It is easy to add tuples to functional programs as syntactic sugar. This work comes from various formalisms and programming paradigms. For many years, we have been collecting the best of existing techniques, such as attribute grammar deforestation [1] folds and hylomorphism fusion [4], typedirected or calculational deforestation [8, 10, 9, 11] But these formalisms were too much di erent from each others to be compared and to produce nice crossfertilization. This is why we try now to refund them in a new theoretical and implementable framework. Following this driving idea, the ....

Leonidas Fegaras, Tim Sheard, and Tong Zhou. Improving programs which recurse over multiple inductive structures. In ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation (PEPM'94), pages 21-32, Orlando, Florida, June 1994.


Equational Semantics - Correnson (1999)   (2 citations)  (Correct)

....study of various existing methods to perform deforestation and partial evaluation in various programming paradigm. Historically, we compared [3, 2, 1] the deforestation of attribute grammars [5, 6, 12] the Wadler deforestation [16, 13, 7] in functional programming, many works about folds [4, 9] and hylomorphisms [10, 15] In each of these formalisms, there were many interesting ideas. But they were sometimes restricted to one particular class of algorithms but sometimes more powerful than another method on the same class. However, attribute grammars seems to provide a kind of ....

Leonidas Fegaras, Tim Sheard, and Tong Zhou. Improving programs which recurse over multiple inductive structures. In ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation (PEPM'94), pages 21--32, Orlando, Florida, June 1994.


Reduction of Language Hierarchies - Glück, Klimov (1995)   (Correct)

....by programs as metacomputation, a term that underlines the fact that this activity is one level higher than ordinary computation. Equivalence transformation of programs is the main possibility for metacomputation; in this paper we use program composition and program specialization (see e.g. [9,12,7,2]) We will not fix a particular method for metacomputation, but specify these two transformation tasks equationally. Definition 3 (Program composition) An M program Cpo is an AB composer if for every A program P, Q D, every input X D and x M, Cpo M = R such that R X B = P Q ....

Fegaras L., Sheard T., Zhou T., Improving programs which recurse over multiple inductive structures. In: ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation. 21-32, 1994.


Deriving Structural Hylomorphisms From Recursive Definitions - Hu, Iwasaki, Takeichi (1996)   (28 citations)  (Correct)

....(Section 5.2) namely and oe, for the use of Acid Rain Theorem. ffl Our algorithm does not limit its use to the fusion of recursions inducting over a single data structure. It is helpful for the fusion of recursions over multiple data structures without introducing new fusion theorems as in [FSZ94] (Section 4.4) Moreover, it is also useful for other program optimizations Deriving Structural Hylomorphisms From Recursive Definitions 3 such as removal of multiple traversal over the same data structures[Tak87] This is because general optimization rules are much easier to be defined over ....

.... A 2 B 2 I = xs; ys) case (xs; ys) of (N il; 1; Cons (a; as) N il) 2; Cons (a; as) Cons(b; bs) 3; a; b; as; bs) The advantage of this transformation is that zip now can be fused with other functions by the Hylo Fusion Theorem. Compared with Fegaras s approach[FSZ94] where some new fusion theorems were intentively developed, our algorithm makes it unnecessary to obtain the same effect. More detail discussion can be found in [HIT95] Finally, we give some other examples. map g = Nil 5 (a; v 0 1 ) Cons (g a; v 0 1 ) id; out LA ] LA ;L A upto = in L ....

[Article contains additional citation context not shown here]

L. Fegaras, T. Sheard, and T. Zhou. Improving programs which recurse over multiple inductive structures. In Proc. PEPM'94, June 1994.


Constraints to Stop Higher-Order Deforestation - Seidl, Sørensen (1997)   (10 citations)  (Correct)

....structures in higher order programs is due to Gill, Launchbury, and Peyton Jones [18, 19, 20] who remove intermediate lists explicitly produced and consumed by means of the primitives build and foldr within the same function. Similar techniques were independently proposed by Sheard and Fegaras [16, 47], and later by Takano and Meijer [49] These approaches rely on functions being written in a form that explicitly builds and destroys intermediate data structures, although some functions can be transformed into this form automatically [32] Gill [18] shows that some programs can be improved by ....

L. Fegaras, T. Sheard, and T. Zhou. Improving programs which recurse over multiple inductive structures. In Proceeding of the ACM SIGPLAN Syposium on Partial Evaluation and Semantics-Based Program Manipulation, 1994.


Making Recursions Manipulable by Constructing Medio-types - Hu, Iwasaki, Takeichi (1995)   (Correct)

....in descriptive power. Some functions, even being naturally derivable from algebraic types, cannot be specified by catamorphisms, and hence transformation rules for these functions have been investigated one by one. For instance, Meertens[16] gave transformation rules for paramorphisms; Fegaras[8] showed how to improve recursions inducting simultaneously over multiple algebraic data types. A question arises naturally: is there a systematic way to manipulate these recursive patterns derivable from data structures To answer this question, it may be helpful to make it clear why some ....

....The following two simple examples may help to see how our algorithm is applied to practical calculation to improve programs. 5.1 Manipulating length:zip We will improve spec = length:zip; where length = 0; xp:S p ] FN and zip is defined in Section 4. The same example has also appeared in [8], where a special promotion transformation was given for recursions over multiple inductive structures. Here, we shall show how to Making Recursions Manipulable by Constructing Medio types 15 manipulate on zip. Using the result obtained in Section 4 where a medio type has been extracted from zip, ....

[Article contains additional citation context not shown here]

L. Fegaras, T. Sheard, and T.Zhou. Improving programs which recurse over multiple inductive structures. Technical Report OGI, Tech-report 94-005, Dept. of Computer Science and Engineering, Oregon Graduate Institution of Science and Technology, 1994.


Shortcut Deforestation in Calculational Form - Takano, Meijer (1995)   (74 citations)  (Correct)

....transforms it to 7 the same first order program. Moreover the example program sizet (defined as length ffi flatten on binary tree) which cannot be handled with Chin s method without assuming an extra law on length and append, naturally be deforested by our method without any extra laws. In [FSZ94] Fegaras, Sheard and Zhou extend their normalization algorithm in [SF93] to the more general fold programs which recurse over multiple inductive structures simultaneously, such as zip or nth. Because our method always works on the function level and explicitly manipulates the functors, it is easy ....

L. Fegaras, T. Sheard, and T. Zhou. Improving programs which recurse over multiple inductive structures. In PEPM '94.


Program Specialization vs. Program Composition - Klimov (1998)   (Correct)

....are the program texts of the trivial solutions to specialization and composition defined above. As often, particular methods can solve specific tasks better and more efficiently: partial evaluation very successfully does specialization [Jones et al. 1993] deforestation [Wadler 1990] and fusion [Fegaras et al. 1994] optimize composition of particular forms of recursive functions, slicing [Weiser 1984] produces a program returning a subset of the original output, and supercompilation [Turchin 1986] addresses all of these problems. Program generation and degeneration can be seen as test cases for existing ....

Fegaras, L., Sheard, T., and Zhou, T. 1994. Improving programs which recurse over multiple inductive structures. In ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation (Orlando, Florida, 1994), pp. 21--32.


Multi-(Co)Iteration, Categorically - Uustalu (1999)   (Correct)

....and multi coiteration from the point of view of their calculational properties. Multi iteration and multi coiteration are relatives of (plain) iteration and coiteration, which are the basic function definition schemes associated to inductive and coinductive types. Multi iteration, treated in [FSZ94] in a syntactically oriented fashion and in [HIT97] in a category theoretic framework, is a natural way for defining a function with several arguments, all of inductive types, which, when evaluated, consumes all argument data at the same pace. Typical bi iterative functions are functions of ....

Leonidas Fegaras, Tim Sheard, and Tong Zhou. Improving programs which recurse over multiple inductive structures. In Proceedings ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation, PEPM'94, Orlando, FL, USA, June 1994, pages 21--32. New York, 1994.


Coding Recursion a la Mendler (Extended Abstract) - Uustalu, Vene (2000)   (Correct)

....cannot, but a Mendlerstyle combinator can be de ned is simultaneous iteration or multi iteration. Similarly to the case of course of value iteration, constructing a conventional style combinator for simultaneous iteration requires an introduction of an intermediate structure. The solution of [FSZ94,HIT97,Uus99] is the following. Let F 1 , F 2 , and F be functors and let : F 1 C 1 F 2 C 2 F (C 1 C 2 ) be natural in C 1 , C 2 . Assume that initial algebras exist for F 1 , F 2 . Then, for any : F C C, there is exactly one morphism f : F 1 F 2 C such that f (in F1 in F2 ) ....

L Fegaras, T Sheard, and T Zhou. Improving programs which recurse over multiple inductive structures. In Proceedings ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation, PEPM'94, Orlando, FL, USA, June 1994, pp 21-32. ACM Press, New York, 1994.


Generalised Folds for Nested Datatypes - Bird, Paterson (1999)   (23 citations)  (Correct)

....equation (2) implies x = id F x so that is determined by id : F B B and the generalised fold reduces to an ordinary fold. Further instances are de ning equations of the form x L = f G x g for functions f : G B B and g : L F G L. For example, zip like functions [FSZ94] are of this form, with L = a binary functor) and g : F 1 F 2 G . Furthermore, this uniqueness property leads to a general fusion law, stating that for any natural transformation : 8A: L A B) L 0 A B ) gfold ) gfold 0 ( 0 : All the previous ....

Leonidas Fegaras, Tim Sheard, and Tong Zhou. Improving programs which recurse over multiple inductive structures. In ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation, June 1994.


Equational Semantics - Correnson, Duris, Parigot, Roussel (1999)   (2 citations)  (Correct)

....5 It is easy to add tuples to functional programs as syntactic sugar. This work comes from various formalisms and programming paradigms. For many years, we have been collecting the best of existing techniques, such as attribute grammar deforestation [1] folds and hylomorphism fusion [4], typedirected or calculational deforestation [8, 10, 9, 11] But these formalisms were too much different from each others to be compared and to produce nice crossfertilization. This is why we try now to refund them in a new theoretical and implementable framework. Following this driving idea, ....

Leonidas Fegaras, Tim Sheard, and Tong Zhou. Improving programs which recurse over multiple inductive structures. In ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation (PEPM'94), pages 21--32, Orlando, Florida, June 1994.


Equational Semantics - Correnson (1999)   (2 citations)  (Correct)

....x) nil) Figure 5: reverse with higher order let fpfun1 = fun t11 ( fun t12 (match t11 with nil t12 cons t14 t15 ( fpfun1 t15) cons t14) t12) let reverse = fun t3 ( fpfun1 t3) nil) Figure 6: reverse with h.o. deforested Informatica 17 page xxx yyy 11 about folds [4, 9] and hylomorphisms [10, 15] In each of these formalisms, there were many interesting ideas. But they were sometimes restricted to one particular class of algorithms but sometimes more powerful than another method on the same class. However, attribute grammars seems to provide a kind of ....

Leonidas Fegaras, Tim Sheard, and Tong Zhou. Improving programs which recurse over multiple inductive structures. In ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation (PEPM'94), pages 21--32, Orlando, Florida, June 1994.


Equational Semantics - Loic Correnson (1999)   (2 citations)  (Correct)

....should be used largely to improve existing transformation methods. This work comes from various interesting formalisms and programming paradigms. For many years, we have been collecting the best of existing techniques, such as attribute grammar deforestation [1] folds and hylomorphisms fusion [2], typedirected or calculational deforestation [6, 8, 7, 9] But these formalisms were too much different from each others to be compared and to produce nice crossfertilization. This is why we try now to refund them in a new theoretical and implementable framework. Following this driving idea, the ....

Leonidas Fegaras, Tim Sheard, and Tong Zhou. Improving programs which recurse over multiple inductive structures. In ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation (PEPM'94), pages 21--32, Orlando, Florida, June 1994.


Design of the SDRR Pipeline - Hook, Bell (1995)   (Correct)

....an eager strategy to apply the transformations. This can result in code blow up. The transformations used in HOT to transform higher order programs have not been previously implemented. These transformations extend the work of Malcom and others to more general datatypes and higher order functions [38, 25, 48, 49]. The critical functionality of HOT was also present in Astre. In addition to fusion and deforestation, HOT does a significant amount of specialization. A subsequent specialization stage is still needed, however, because HOT is not guaranteed to produce first order code. ADL Translator ADL ....

Leonidas Fegaras, Tim Sheard, and Tong Zhou. Improving programs which recurse over multiple inductive structures. In Proceedings from Workshop on Partial Evaluation and Semantics-Based Program Manipulation, 1994.


Optimizing Algebraic Programs - Sheard, Fegaras (1994)   (2 citations)  Self-citation (Fegaras Sheard)   (Correct)

....as simple natural number subtraction resort to arcane tricks or be simply unencodable. We would like to encode simple algorithms such as equality, uni cation, zip, and the nth element of a list function algebraically, and for these functions to be amenable to automatic transformations. Elsewhere[7] we report initial results on encoding these functions algebraically by generalizing the E c i functors and the combinators. These generalizations have promotion like theorems but while our experience with generic transformations is limited, our results so far have been quite encouraging. 8 ....

L. Fegaras, T. Sheard and T. Zhou. Improving Programs which Recurse over Multiple Inductive Structures. Oregon Graduate Institute, Technical report #94-005 A version of this paper is ftp-able from cse.ogi.edu:/pub/pacsoft/papers/ImpProgRecMult.ps. Submitted to PEPM'94.


Using the Parametricity Theorem for Program Fusion - Fegaras (1996)   (1 citation)  Self-citation (Fegaras)   (Correct)

....be expressed as a second order fold that traverses one of the zip arguments and deconstructs the other argument during the traversal. This results into an asymmetry: the fold fusion law can only be used for fusing one argument only. An alternative, symmetric, definition of zip is given elsewhere [4] but it requires a more general traversal scheme than fold. Following the terminology in [10] zip can be viewed as a worker and the above definition of zip as a wrapper. The parametricity theorem for zip with ff = fi = is: 8f fl ; c; n; c 0 : f fl ffi c = c 0 ffi (id Theta id Theta ....

L. Fegaras, T. Sheard, and T. Zhou. Improving Programs which Recurse over Multiple Inductive Structures. In ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation, Orlando, Florida, pp 21--32, June 1994.


Revisiting Catamorphisms over Datatypes with Embedded Functions - Fegaras, Sheard (1996)   (17 citations)  Self-citation (Fegaras Sheard)   (Correct)

.... functional programs based upon catamorphisms (folds) or other control mechanisms that are generated from algebraic type definitions, leads to benefits ranging from the ability to calculate programs from specifications [3] to encoding a good intermediate representation that supports optimization [8, 1, 2]. Recently Paterson [5] and Meijer Hutton [4] extended the use of such control structures to datatypes that include embedded functions. While theoretically sound, their approach suffers from the disadvantage that to express a function, f , as a catamorphism it is necessary to express another ....

L. Fegaras, T. Sheard, and T. Zhou. Improving Programs which Recurse over Multiple Inductive Structures. In ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation, Orlando, Florida, pp 21--32, June 1994.


A Uniform Calculus for Collection Types - Fegaras (1994)   (2 citations)  Self-citation (Fegaras)   (Correct)

....set of higher order operators, we reduce the number of transformation rules needed for optimizing expressions that involve these operators. This results in a system whose correctness is easier to prove. Previously we have presented a very expressive and extensible language based on fold operations [7, 14, 8]. Given any user defined data type expressed by inductive type equations, this system is able to synthesize the definition of the fold operator that traverses instances of this type by simply examining the type details. The fold operator follows a pattern of recursion similar to the pattern of ....

L. Fegaras, T. T. Sheard, and T. Zhou. Improving Programs which Recurse over Multiple Inductive Structures. In ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation, Orlando, Florida, June 1994.


Fusion for Free! - Fegaras (1996)   Self-citation (Fegaras)   (Correct)

....be expressed as a second order fold that traverses one of the zip arguments and deconstructs the other argument during the traversal. This results into an asymmetry: the fold fusion law can only be used for fusing one argument only. An alternative, symmetric, definition of zip is given elsewhere [4] but it requires a more general traversal scheme than fold. len(zip(x,y) len( zip ( a,b,r) a,b) r, x,y) zip ( c , len [ x,y) zip ( c , 0 ) x,y) The premise of the zip fusion law gives us a value for c : c (x,y,len z) len(c(x,y,z) len( x,z) z) 1 (len z) ....

L. Fegaras, T. Sheard, and T. Zhou. Improving Programs which Recurse over Multiple Inductive Structures. In ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation, Orlando, Florida, pp 21--32, June 1994.


Equational Semantics - Correnson (1999)   (2 citations)  (Correct)

No context found.

Leonidas Fegaras, Tim Sheard, and Tong Zhou. Improving programs which recurse over multiple inductive structures. In ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation (PEPM'94), pages 21--32, Orlando, Florida, June 1994.


Equational Semantics - Loic Correnson Etienne (1999)   (2 citations)  (Correct)

No context found.

Leonidas Fegaras, Tim Sheard, and Tong Zhou. Improving programs which recurse over multiple inductive structures. In ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation (PEPM'94), pages 21--32, Orlando, Florida, June 1994.


Fusion in Practice - Diederik Van Arkel (2003)   (1 citation)  (Correct)

No context found.

L. Fegaras, T. Sheard, and T. Zhou. Improving Programs which Recurse over Multiple Inductive Structures. In Proc. of ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation, Orlando, FL, USA, June 1994

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