MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Fusing logic and control with local transformations: An example optimization (2001) [12 citations — 9 self]

Download:
pdf
by Patricia Johann, Eelco Visser
Workshop on Reduction Strategies in Rewriting and Programming (WRS’01), volume 57 of Electronic Notes in Theoretical Computer Science
http://archive.cs.uu.nl/pub/RUU/CS/techreps/CS-2001/2001-30.pdf
Add To MetaCart

Abstract:

Abstract programming supports the separation of logical concerns from issues of control in program construction. While this separation of concerns leads to reduced code size and increased reusability of code, its main disadvantage is the computational overhead it incurs. Fusion techniques can be used to combine the reusability of abstract programs with the efficiency of specialized programs. In this paper we illustrate some of the ways in which rewriting strategies can be used to separate the definition of program transformation rules from the strategies under which they are applied. Doing so supports the generic definition of program transformation components. Fusion techniques for strategies can then be used to specialize such generic components. We show how the generic innermost rewriting strategy can be optimized by fusing it with the rules to which it is applied. Both the optimization and the programs to which the optimization applies are specified in the strategy language Stratego. The optimization is based on small transformation rules that are applied locally under the control of strategies, using special knowledge about the contexts in which the rules are applied. 1

Citations

657 Advanced Compiler Design and Implementation – Muchnick - 1997
588 Compiling with Continuations – Appel - 1992
552 Partial evaluation and automatic program generation – Jones, Gomard, et al. - 1993
366 Deforestation: Transforming programs to eliminate trees – Wadler - 1988
106 Building Program Optimizers with Rewriting Strategies – Visser, Benaissa, et al. - 1998
94 Stratego: A language for program transformation based on rewriting strategies – Visser - 2001
84 Warm fusion: deriving build-catas from recursive definitions – Launchbury, Sheard - 1995
72 A transformation-based optimiser for Haskell – Jones, Santos - 1998
71 Realistic compilation by program transformation – Kelsey, Hudak - 1989
39 Compilation of functional languages by program transformation – Fradet, Métayer - 1991
35 A Calculational Fusion System HYLO – Onoue, Hu, et al. - 1997
27 Warm fusion in stratego: A case study in the generation of program transformation systems – Johann, Visser - 2000
15 An algebraic programming style for numerical software and its optimization – Dinesh, Haveraaen, et al. - 1998
14 Formal software engineering for computational modeling – Haveraaen, Friis, et al. - 1999
12 Functional Transformation Systems – Kort, Lammel, et al. - 2000
7 cut fusion: Proved and improved – Short - 2001
3 The Glasgow Haskell Compiler: a techical overview – Jones, Hall, et al. - 1993
3 Short cut fusion: Proved and improved – Johann - 2001
1 Functional transformation systems. http://www.cwi.nl/ jvisser/papers – Kort, Visser - 2000