79 citations found. Retrieving documents...
Akihiko Takano and Erik Meijer. Shortcut deforestation in calculational form. In Conf. on Func. Prog. Languages and Computer Architecture, pages 306--313, La Jolla, CA, USA, 1995. ACM Press.

 Home/Search   Document Details and Download   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents  Next 50

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

....are intermediate structures which do not form part of the result. It is by now well known that many intermediate lists can be removed automatically by using program transformations and a considerable amount of research has gone into developing more powerful and easily applicable techniques, e.g. [Wad90, Mar96, TM95, CDPR99, Ham01, Chi99]. Perhaps the most successful method for removing intermediate data structures is shortcut fusion [GLJ93] It relies on writing list processing functions using two special functions foldr and build. Whenever a list is produced by build and consumed by foldr, that list can be removed. The ....

....them. Like the foldr build rule, our method is simple. It can be implemented in the same manner and is therefore a good candidate for incorporating in a compiler. It should be noted that the transformation itself is not new. It was noted by Takano and Meijer that the foldr build rule has a dual [TM95]. They did not, however, consider this transformation but instead focused on using hylomorphisms to express fusion. In this paper we will only consider lists when we want to remove intermediate data structures. But most things we present generalises (like the foldr build rule) directly to other ....

[Article contains additional citation context not shown here]

A. Takano and E. Meijer. Shortcut deforestation in calculational form. In Simon L Peyton Jones, editor, Functional Programming and Computer Architecture, San Diego, 1995. ACM.


Deforesting in Accumulating Parameters via Type-Directed.. - Nishimura (2002)   (1 citation)  (Correct)

.... rev (Cons(n,l) h = rev l (Cons(n,h) rev Nil h = h When applied to such a function, Wadler s deforestation process gets stuck because of the well known problem of not reaching accumulating results [3] There are several proposals of refinements and improvements to the deforestation technique [9, 15, 3, 17, 16, 12], but none of them provides a satisfactory solution for deforesting in accumulating parameters. This paper proposes a type directed transformation method that aims at deforesting in accumulating parameters. The transformation method we propose is based on a composition method for attribute ....

....attribute grammar composition method into the functional programming paradigm. Also, record types play a significant role in the proceeding transformation procedure. 2. 2 Shortcut fusion applied Our deforestation process starts with an application of the well known shortcut fusion transformation [9, 17]. To apply the shortcut fusion rule, we define flat , which is another version of flat that abstracts over constructor functions, and foldr build operators for lists. flat : T (Integer a a) a (l: a, j : a) fl: a, fj : a) flat (Node(t1,t2) let syn1 = flat t1 c nl (l=l, ....

A. Takano and E. Meijer. Shortcut deforestation in calculational form. In Proceedings of the 7 International Conference on Functional Programming Languages and Computer Architecture, pages 306-- 313, La Jolla, California, June 1995. ACM SIGPLAN /SIGARCH and IFIP WG2.8, ACM Press.


Calculation Carrying Programs - Hu, Takeichi (1999)   (Correct)

.... of some optimization passes of compilers [GLJ93, OHIT97] Particularly, it has been shown that many important program transformations suchasdeforestation (or fusion) tupling transformation, parallelization and accumulation can effectively and elegantly be formalized in calculational form [TM95, HIT96, HITT97, HTC98, HIT99]. Why to Code Calculation We believe that it is both worthwhile and challenging to provide a flexible mechanism to code program calculations, and to make such calculations be part of programs. There are two main reasons. ffl Coding calculation can help programmers to document and reuse their ....

....of efficient programs. Many calculation laws and theorems such as fusion, tupling, parallelization have been developed, but few of them have been fully implemented in practical compilers. There are two major difficulties. First, even for a simple calculation law like the cheap fusion in [GLJ93, TM95], one cannot code it as naturally as expressed in the paper. Rather one has to take pain to design an algorithm to implement the lawby induction on the syntax tree. Second, the creative steps, which are often required during calculation, are hard to be mechanized in general. By coding calculation, ....

[Article contains additional citation context not shown here]

A. Takano and E. Meijer. Shortcut deforestation in calculational form. In Proc. ConferenceonFunctional Programming Languages and Computer Architecture, pages 306--313, La Jolla, California, June 1995.


Catamorphic Approach to Program Analysis - Ogawa, Hu, Sasano, Takeichi (2003)   (Correct)

....to optimization of functional programs. It was first proposed as the theory of lists [5] and was then extended to be a general theory of datatypes [7] It has proved to be very useful not only in deriving variant e#cient programs [23] but also in constructing optimization passes in compilers [36, 21, 22]. Our formulating program analysis in this framework enables utilization of existing calculation techniques. There are several works on catamorphic approach to computation on graphs. For instance, 15] treats graphs with embedded functions, i.e. graphs are treated as functions that generates all ....

A. Takano and E. Meijer. Shortcut deforestation in calculational form. In Proc. Conference on Functional Programming Languages and Computer Architecture, pages 306--313, La Jolla, California, June 1995.


Using Monads to Fuse Recursive Programs (extended Abstract) - Jürgensen (2002)   (Correct)

....D 01062 Dresden, Germany extended abstract We try to combine the syntactic composition of tree transducers [FV98, KV01] on the one hand side and short cut fusion [GLP93] on the other hand side. Short cut fusion is based on the cata build rule [Joh01] or acid rain theorem [TM95]. Therefore it is necessary to represent the recursive functions as catamorphisms. A catamorphism is a generalization of the well known list function foldr for arbitrary algebraic datatypes. In terms of category theory a catamorphism is the unique mediating morphism from an initial algebra. We ....

A. Takano and E. Meijer. Shortcut deforestation in calculational form. In Proceedings of the Conference on Functional Programing Languages and Computer Architecture, pages 306--313, La Jolla, CA, June 1995. ACM Press. 3


Towards a Modular Program Derivation via Fusion and Tupling - Chin, Hu (2002)   (Correct)

.... a related but little known problem, called maximum segment product, can be similarly derived by our approach (Sec 4) We then compare with a classical derivation via Horner s rule (Sec 5) before an advice on the use of accumulation technique (Sec 6) 2 Enhanced Fusion with Laws Fusion method [Chi92,TM95,CK01] is potentially a useful and prevalent transformation technique. Given a composition f(g(x) where g(x) yields an intermediate data structure for use by f, fusion would attempt to merge the composition into a specialised function p(x) with the same semantics as f(g(x) but without the need for an ....

A. Takano and E. Meijer. Shortcut deforestation in calculational form. In ACM Conference on Functional Programming and Computer Architecture, pages 306-313, San Diego, California, June 1995. ACM Press.


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

....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 declarative notation able to gather ....

Akihiko Takano and Erik Meijer. Shortcut deforestation in calculational form. In Conf. on Func. Prog. Languages and Computer Architecture, pages 306--313, La Jolla, CA, USA, 1995. ACM Press.


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

....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 notion of equational programs raised naturally and ....

Akihiko Takano and Erik Meijer. Shortcut deforestation in calculational form. In Conf. on Func. Prog. Languages and Computer Architecture, pages 306-313, La Jolla, CA, USA, 1995. ACM Press.


Syntactic Composition of Top-Down Tree Transducers is Short.. - Jürgensen, Vogler (2001)   (Correct)

.... algebraic data structures of the polymorphic # calculus PolyFix (but not for Haskell) a proof for the correctness of short cut fusion is given in [Joh01] It is also possible to prove an abstract version in terms of category theory of the cata build rule which is known as the acid rain theorem [TM95]: H : Alg C F, # F ) # (Alg C G, # G ) #] G ( Hin G ] F = H#] F . where ( #] G is the category theory notation for the catamorphism, which is the unique solution of the equation ( #] G in G = # G( #] G , G is an endofunctor, # is a G algebra, and in G is ....

....carrier. If U = Id this means that H maps G algebras onto F algebras with the same carrier. A function on algebras (and more general on dialgebras) with this properties is called an algebra transformer in [Fok92b] 3.2.4 Corollary ( short cut fusion or acid rain theorem (cf. Theorem 3. 2 of [TM95] and Corollary 4.3.2 of [J ur00] Let C be a category and F, G : C C endofunctors such that the categories Alg C F and Alg C G have initial objects. Let # # Ob(Alg C F) H : Alg C F, # F ) Alg C G, # G ) #] G ( Hin G ] F = H#] F . Proof. This is just ....

[Article contains additional citation context not shown here]

A. Takano and E. Meijer. Shortcut deforestation in calculational form. In Proceedings of the Conference on Functional Programing Languages and Computer Architecture, pages 306--313, La Jolla, CA, June 1995. ACM Press.


Declarative Program Transformation: a Deforestation.. - Correnson, Duris.. (1999)   (10 citations)  (Correct)

....have been developed in order to improve the eciency of deforestation transformations. Wadler s algorithm [29] based on Burstall and Darlington unfold fold strategy [1] has been improved and extended by several works [2, 12, 25, 27] Another approach, the deforestation in calculational form [11, 26, 16, 28, 13], was based on algebraic notions. This latter aims at using categorial functors to capture both function and data type patterns of recursion [18] to guide the deforestation process. With a large degree of formalisms or notations, all these methods are able to deforest function compositions like ....

....schemes, provided by data type speci cations, are not exible enough to catch all intermediate data structure constructions in function compositions. Several approaches attempted to abstract these recursion schemes in order to re ne their manipulation, for instance by categorial representation [28, 13]. We were rst surprised that these elaborate methods do not succeed in deforestations performed in the context of attribute grammar transformations. But two points di erentiate them. First, attribute grammars are using fully declarative speci cations, independently of any evaluation method, ....

A. Takano and E. Meijer. Shortcut deforestation in calculational form. In Functional Programming Languages and Computer Architecture (FPCA'95), La Jolla, CA, 1995. ACM Press.


When is a Function a Fold Or an Unfold? - Gibbons, Hutton, Altenkirch (2001)   (Correct)

....interesting from a theoretical point of view, we also expect the results to have practical applications in program optimisation. A well structured program is typically factored into several phases, each phase generating a data structure that is consumed by the subsequent phase; deforestation [9,16,21] fuses adjacent phases and eliminates the intermediate data structures. When performed as a compiler optimisation, it yields e#cient ob12 Gibbons, Hutton and Altenkirch ject code without sacrificing the structure and clarity of the source code. Our results can be used to determine when two ....

A. Takano and E. Meijer. Shortcut deforestation in calculational form. In Proc. Conference on Functional Programming Languages and Computer Architecture, ACM Press, 1995.


Functional Array Fusion - Chakravarty, Keller (2001)   (4 citations)  (Correct)

....de ne fusion rules and which are suf cient to implement all subcomputations that we want to consider for fusion. Unfortunately, it is, in general, not trivial to express all possible forms of traversing a data structure in few combinators and they tend to develop into a rather complex machinery [38, 27]. Even more complex are the mechanisms needed to convert arbitrary recursive structure traversals into the combinator form required for equational fusion [18] The most successful approach in terms of actual usage to equational fusion, namely foldr build, cuts some compromises to make the ....

....of replicateP or loopP ) we want fuse this argument into the loop. The equational list fusion method foldr build implemented in GHC is not able to perform fusion in all these cases [15] instead, fusion is only possible for a single argument determined when implementing zip. Other approaches [38, 27] claim to fuse zip fully, but the details are not entirely clear and no working system including these techniques is available. Our approach to this problem consists of two components: 1) an unboxed representation for arrays of pairs and (2) a set of specialised fusion rules. 5.1.1 Arrays of ....

A. Takano and E. Meijer. Shortcut deforestation in calculational form. In Conf. Record 7th ACM SIGPLAN/SIGARCH Intl. Conf. on Functional Programming Languages and Computer Architecture, pages 306-316. ACM Press, New York, 1995.


How Portable is Nested Data Parallelism? - Chakravarty, Keller (1999)   (Correct)

....(Fujitsu) VPP 700 (Fujitsu) Workstation Clusters Fig. 1. Architecture space the second author s thesis [14] demonstrated that attened code can indeed be successfully compiled to modern machines. In the approach discussed in this paper, we optimise attened code using calculational fusion [19, 14] and generate C code that uses collective communication operations, which are implemented using one sided communication; the latter allows a uniform view on di erent memory models. In summary, the paper makes the following three contributions: 1) It proposes a design for a highly portable ....

....nested data parallelism can indeed be e ciently mapped to these architectures by a compilation technique that combines two program transformations with a portable communication library based on onesided communication. The two program transformations are attening [7, 3] and calculational fusion [19, 14], and they are central in tuning the code for varying processor architectures. Flattening transforms a nested data parallel program into a at data parallel program operating on long vectors. This makes the code better suited for vector processors and it is also an essential part of our load ....

Akihiko Takano and Erik Meijer. Shortcut deforestation in calculational form. In Conf. Record 7th ACM SIGPLAN/SIGARCH Intl. Conf. on Functional Programming Languages and Computer Architecture, pages 306316. ACM Press, New York, 1995.


On the Distributed Implementation of Aggregate Data.. - Keller, Chakravarty (1999)   (3 citations)  (Correct)

....keep all intermediate results in registers. sumSq2 (n) Int Int = sumSq2 (1, n) sumSq2 (x, n) Int, Int) Int = if (x n) then 0 else x x sumSq2 (x 1, n) In sequential programming, fusion (or deforestation) techniques are applied to derive sumSq2 automatically from sumSq1 [25, 11, 24, 19]. Unfortunately, these techniques are not directly applicable to parallel programming, because they replace the aggregatebased computations fully by sequential recursive traversals sumSq2 completely lost the parallel interpretation of sumSq1. However, as soon as we have clearly separated local ....

Akihiko Takano and Erik Meijer. Shortcut deforestation in calculational form. In Conf. Record 7th ACM SIGPLAN/SIGARCH Intl. Conf. on Functional Programming Languages and Computer Architecture, pages 306--316. ACM Press, New York, 1995.


An Algebraic Interface for GETA Search Engine - Murakami, Hu, Nishioka..   Self-citation (Takano)   (Correct)

No context found.

Akihiko Takano and Erik Meijer. Shortcut Deforestation in Calculational Form. In Proceedings of the seventh International Conference on Functional Programming Languages and Computer Architecture, pages 306--313. ACM Press, 1995.


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

No context found.

Akihiko Takano and Erik Meijer. Shortcut deforestation in calculational form. In Conf. on Func. Prog. Languages and Computer Architecture, pages 306--313, La Jolla, CA, USA, 1995. ACM Press.


Declarative Program Transformation: A Deforestation.. - Correnson, Duris.. (1999)   (10 citations)  (Correct)

No context found.

A. Takano and E. Meijer. Shortcut deforestation in calculational form. In Functional Programming Languages and Computer Architecture (FPCA'95), La Jolla, CA, 1995. ACM Press.


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

No context found.

Akihiko Takano and Erik Meijer. Shortcut deforestation in calculational form. In Conf. on Func. Prog. Languages and Computer Architecture, pages 306--313, La Jolla, CA, USA, 1995. ACM Press.


Optimising the Memory Management of Higher-Order Functional.. - Mohnen (1997)   (2 citations)  (Correct)

No context found.

A. Takano and E. Meijer. Shortcut deforestation in calculational form. In Proceedings of the 7th Conference on Functional Programming Languages and Computer Architecture (FPCA), pages 306313. ACM, September 1995.


Strategies for Fusing Logic and Control via Local.. - Johann, Visser (2003)   (Correct)

No context found.

A. Takano and E. Meijer. Shortcut deforestation in calculational form. In S. L. Peyton-Jones, editor, Functional Programming and Computer Architecture (FPCA'95), San Diego, California, June 1995.


Optimizing Generic Functions - Artem Alimarine And (2004)   (Correct)

No context found.

Akihiko Takano and Erik Meijer. Shortcut deforestation in calculational form. In Conf. Record 7th ACM SIGPLAN/SIGARCH Int. Conf. on Functional Programming Languages and Computer Architecture, FPCA'95, pages 306--313, New York, June 1995. La Jolla, San Diego, CA, USA, ACM Press.


Efficient Generic Functional Programming - Alimarine, Smetsers (2004)   (Correct)

No context found.

Akihiko Takano and Erik Meijer. Shortcut deforestation in calculational form. In Conf. Record 7th ACM SIGPLAN/SIGARCH Int. Conf. on Functional Programming Languages and Computer Architecture, FPCA'95, pages 306--313, New York, June 1995. La Jolla, San Diego, CA, USA, ACM Press.


Monad Comprehensions: A Versatile Representation for Queries - Grust (2003)   (Correct)

No context found.

22 Akihiko Takano and Erik Meijer. Shortcut Deforestation in Calculational Form. In Proc. of the ACM Conference on Functional Programming and Computer Architecture (FPCA), pages 306--313, La Jolla, USA, June 1995. ACM Press.


Calculating Accumulations - Hu, Iwasaki, Takeichi (1999)   (2 citations)  (Correct)

No context found.

) Takano, A., and Meijer, E. Shortcut deforestation in calculational form. In Proc. Conference on Functional Programming Languages and Computer Architecture (La Jolla, California, June 1995), pp. 306--313.


Warm Fusion for the Masses: Detailing Virtual Data.. - Johann, Launchbury (1998)   (Correct)

No context found.

A. Takano and E. Meijer. Shortcut Deforestation in Calculational Form. In Proceedings, Conference on Functional Programming and Computer Architecture, p. , 1995.

First 50 documents  Next 50

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