131 citations found. Retrieving documents...
T. Sheard and L. Fegaras. A fold for all seasons. In Functional Programming and Computer Architecture (FPCA'93), Copenhagen, Denmark, June 1993. 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

Dependency-style Generic Haskell - Loh, Clarke, Jeuring (2003)   (6 citations)  (Correct)

....The field of generic programming has grown considerably in recent years. Much of this work stems from socalled theories of datatypes, for example [3] which are often based on category theoretic notions such as initial algebras. These approaches focus on generic control constructs, such as folds [32], which are derived from datatypes. Based on initial algebra semantics, Charity [7] automatically generates folds and so forth for datatypes on demand, but otherwise does not allow the programmer to write her own generic functions. PolyP [21] extends Haskell with a special construct for defining ....

T. Sheard and L. Fegaras. A fold for all seasons. In Proceedings of the 6th ACM Conference on Functional Programming Languages and Computer Architecture FPCA '93, pages 233--242. ACM Press, June 93.


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

....its second argument this version of bar is as efficient as we may hope for. Most notably, all intermediate structures between foldl and enumFromTo have been removed. 6 Related work Removing intermediate 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 ....

.... 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 input. Later, Takano and Meijer responded to the original shortcut ....

T. Sheard and L. Fegaras. A Fold for All Seasons. In Sixth Conference on Functional Programming Languages and Computer Architecture, pages 233--242, Copenhagen, June 1993.


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 ....

....the folding unfolding transformation either, but by a small set of transformation rules (including both local and non local ones) Hence our method is closer to shortcut fusion. Several researchers have tackled the problem of deforesting functions with accumulating parameters. Sheard and Fegaras [15] proposed second order fusion to deforest higher order functions. However, their deforestation method requires a post processing that assumes a particular algebraic property of programs, which is not easily mechanizable. Svenningsson proposed a fusion rule to cancel destroy unfoldr pairs, which ....

T. Sheard and L. Fegaras. A fold for all seasons. In Proceedings 6 ACM SIGPLAN/SIGARCH Int. Conf. on Functional Programming Languages and Computer Architecture, FPCA'93, Copenhagen, Denmark, 9--11 June 1993, pages 233--242. ACM Press, New York, 1993.


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

....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 intermediate data structure. In recent years, many attempts have been put forward to automate such fusion calculations [SF93,GLPJ93,SS97,HIT96]. Most current attempts are restricted to using equational de nitions during transformation. For example, the deforestation algorithm [Wad88] relies on only de ne, unfold and fold rules [BD77] base on equational de nitions. Unfortunately, this approach is inadequate since we often need laws ....

T. Sheard and L. Fegaras. A fold for all seasons. In 6th ACM Conference on Functional programming Languages and Computer Architecture, Copenhagen, Denmark, June 1993. ACM Press.


Polytypic Functions Over Nested Datatypes - Hinze (1999)   (7 citations)  (Correct)

....repeated matching of the type argument (which is statically known at compile time) is avoided. Directions for future work suggest themselves. It remains to broaden the approach to include exponentials and higher order polymorphism [13] The former extension should be fairly straightforward, see [22] or [17] The latter extension is far more challenging. To illustrate, consider the following generalization of rose trees. data GRose f a = Node a (f (GRose f a) This datatype is used, for instance, to extend an implementation of collections (sequences or priority queues) with an efficient ....

Tim Sheard and Leonidas Fegaras. A fold for all seasons. In Proceedings 6th ACM SIGPLAN /SIGARCH International Conference on Functional Programming Languages and Computer Architecture, FPCA'93, Copenhagen, Denmark, pages 233--242. ACM-Press, June 1993.


Costing Nested Array Codes - Lechtchinsky, Chakravarty, Keller   (Correct)

....combinator, namely fold , to formalise our statement. We rst review a generic de nition of fold , before using it to characterise the complexity of lifted functions. 4. 1 Folding Product Sum Types We de ne the reduction operation fold by way of an algorithm introduced by Sheard Fegaras [18]; from an algebraic data type T , it generates a de nition fold T that is suciently expressive to encode the recursive structure of all primitive recursive functions over T . In higher order languages, the expressiveness of fold actually exceeds that of primitive recursion [10] but this is ....

T. Sheard and L. Fegaras. A fold for all seasons. In Proceedings 6th ACM SIGPLAN/SIGARCH Int. Conf. on Functional Programming Languages and Computer Architecture, FPCA'93, pages 233-242, New York, 1993. ACM Press.


Generation of Efficient Algorithms for Maximum Marking Problems - Sasano   (Correct)

....one of these polynomial data types. This will be demonstrated in Chapter 4. 14 For each data constructor C i , we de ne F i by F i f (e; x 1 ; x n i ) e; f x 1 ; f x n i ) 2. 2 Catamorphism Catamorphisms, one of the most important concepts in program calculation [MFP91, SF93, BdM96] form a class of important recursive functions over a given data type. They are the functions that promote through the data constructors. For example, for the type of lists, given e and , there exists a unique catamorphism cata satisfying the following equations: cata [ e cata (x ....

Tim Sheard and Leonidas Fegaras. A fold for all seasons. In Conference on Functional Programming Languages and Computer Architecture, pages 233-242, 1993.


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

....to partial evaluation and deforestation. Keywords: semantics, program transformation, partial evaluation, deforestation. 1 Introduction Many frameworks use some semantic abstraction to transform functional programs. For instance calculus [11, 8] catamorphisms [5] hylomorphisms [7] folds [9]. A more complete bibliography and a large comparison of these di erent frameworks can be found in [3] All of them share a similar global structure. Thus, functional programs are abstracted in some mathematical domain. Transformations are performed on the abstraction of the program. Then, the ....

....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 ....

Tim Sheard and Leonidas Fegaras. A fold for all seasons. In Conf. on Functional Programming and Computer Architecture (FPCA'93), pages 233-242, Copenhagen, Denmark, June 1993. 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 ....

....In the resulting lengapp function de nition, the conses of the intermediate list have been removed. Even if each technique is particular in its algorithm implementation or in its theoretical underlying formalism (rewriting rule system [29] foldr build elimination rule [11] fold normalization [26], hylomorphisms fusion [13] they are more or less based on these three steps [8] Major characteristics of these methods are, on the one hand, to expose datastructure producers to data structure consumers in order to nd partial evaluation application sites and, on the other hand, to detect and ....

[Article contains additional citation context not shown here]

T. Sheard and L. Fegaras. A fold for all seasons. In Functional Programming and Computer Architecture (FPCA'93), Copenhagen, Denmark, June 1993. ACM Press.


LPS: A Language Prototyping System Using Modular.. - Gayo, Díez.. (2001)   (3 citations)  (Correct)

....between F algebras as morphisms. In this category, In : F(F) # F is an initial object, i.e. for any F algebra # : F # # # there is a unique homomorphism ( #] F # # satisfying the above equation. #] is called fold or catamorphism and satisfies a number of calculational properties [3,6,40,46]. It can be defined as: F# # #) # (F # #) #] # . map F ( #] out where out : F # F (F) out (In x ) x As an example, we can obtain a simple evaluator for terms defining a T algebra whose carrier is the type M Int , where M is, in this case, any kind of monad. # T : T ....

Tim Sheard and Leonidas Fegaras. A fold for all seasons. In Proceedings 6th ACM SIGPLAN/SIGARCH Intl. Conf. on Functional Programming Languages and Computer Architecture, FPCA'93, Copenhagen, Denmark, 9--11 June


Composition of Functions with Accumulating Parameters - Voigtländer, Kühnemann (2001)   (2 citations)  (Correct)

....begun in [K uh99] and [H of99] where also a formal comparison between these techniques and classical deforestation [Wad90, Chi94] is drawn. Also other transformation techniques, such as shortcut deforestation [GLP93, Gil96] and program calculation techniques based on recursion operators [MFP91, SF93, BdM96, HIT96, J ur00] are interesting for a comparison. REFERENCES Another possibility of further investigation is to further relax the restrictions needed to compose two macro tree transducers or to nd other restrictions that enable such a composition. The observation below Construction 3.6 ....

T. Sheard and L. Fegaras. A fold for all seasons. In Functional Programming Languages and Computer Architecture, Copenhagen, Denmark, Proceedings, pages 233-242. ACM Press, June 1993.


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

No context found.

T. Sheard and L. Fegaras. A fold for all seasons. In Functional Programming and Computer Architecture (FPCA'93), Copenhagen, Denmark, June 1993. ACM Press.


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

No context found.

Tim Sheard and Leonidas Fegaras. A fold for all seasons. In Conf. on Functional Programming and Computer Architecture (FPCA'93), pages 233-- 242, Copenhagen, Denmark, June 1993. ACM Press.


A Generic Framework for Genericity - Loic Correnson Etienne   (Correct)

No context found.

Tim Sheard and Leonidas Fegaras. A fold for all seasons. In Conf. on Functional Programming and Computer Architecture (FPCA'93), pages 233--242, Copenhagen, Denmark, June 1993. ACM Press.


Scrap Your Boilerplate: A Practical Design Pattern for Generic .. - Lämmel, Jones (2003)   (Correct)

No context found.

T. Sheard and L. Fegaras. A fold for all seasons. In FPCA93


Scrap Your Boilerplate: A Practical Design Pattern for Generic .. - Lämmel, Jones (2003)   (Correct)

No context found.

T. Sheard and L. Fegaras. A fold for all seasons. In FPCA93


Make it Practical: A Generic Linear-Time Algorithm for.. - Sasano, Hu, Takeichi.. (2000)   (1 citation)  (Correct)

No context found.

T. Sheard and L. Fegaras. A fold for all seasons. In Conference on Functional Programming Languages and Computer Architecture, pages 233-242, 1993.


Dependency-style Generic Haskell - Löh, Clarke, Jeuring (2003)   (Correct)

No context found.

T. Sheard and L. Fegaras. A fold for all seasons. In Proceedings of the 6th ACM Conference on Functional Programming Languages and Computer Architecture FPCA '93, pages 233--242. ACM Press, June 93.


Deterministic Higher-order Patterns for Program Transformation - Yokoyama, Hu, Takeichi (2003)   (Correct)

No context found.

Sheard, T., Fegaras, L.: A fold for all seasons. In: Conference on Functional Programming Languages and Computer Architecture. (1993) 233-242


Reusable Monadic Semantics of Object Oriented Programming.. - Gayo, Lovelle, Diez, Rio   (Correct)

No context found.

Tim Sheard and Leonidas Fegaras. A fold for all seasons. In Proceedings 6th ACM SIGPLAN /SIGARCH Intl. Conf. on Functional Programming Languages and Computer Architecture, FPCA'93, Copenhagen, Denmark, 9--11 June 1993, pages 233--242. ACM, New York, 1993.


A Language Prototyping Tool Based on Semantic Building.. - Gayo, Lovelle, Diez.. (2001)   (Correct)

No context found.

Tim Sheard and Leonidas Fegaras. A fold for all seasons. In Proceedings 6th ACM SIGPLAN/SIGARCH Intl. Conf. on Functional Programming Languages and Computer Architecture, FPCA'93, Copenhagen, Denmark, 9--11 June 1993, pages 233--242. ACM, New York, 1993.


Scrap Your Boilerplate: A Practical Design Pattern for Generic .. - Lämmel, Jones (2003)   (Correct)

No context found.

T. Sheard and L. Fegaras. A fold for all seasons. In FPCA93


Deterministic Second-order Patterns in Program Transformation - Yokoyama, Hu, Takeichi   (Correct)

No context found.

Sheard, T., Fegaras, L.: A fold for all seasons. In: Conference on Functional Programming Languages and Computer Architecture. (1993) 233--242


International Journal of Foundations of Computer Science - World Scienti Publishing   (Correct)

No context found.

Tim Sheard and Leonidas Fegaras. A fold for all seasons. In Proceedings 6th ACM SIGPLAN/SIGARCH International Conference on Functional Programming Languages and Computer Architecture, FPCA'93, Copenhagen, Denmark, pages 233{


Tree Transducer Composition as Deforestation Method for.. - Kühnemann, Voigtländer (2001)   (1 citation)  (Correct)

No context found.

T. Sheard and L. Fegaras. A fold for all seasons. In Functional Programming Languages and Computer Architecture { FPCA'93, Copenhagen, Denmark, Proceedings, pages 233-242. ACM Press, June 1993.

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