MetaCart Sign in to MyCiteSeerX

Include Citations | Advanced Search | Help

Disambiguated Search | Include Citations | Advanced Search | Help

Playing by the Rules: Rewriting as a practical optimisation technique in GHC (2001) [31 citations — 4 self]

Abstract:

We describe a facility for improving optimization of Haskell programs using rewrite rules. Library authors can use rules to express domain-specific optimizations that the compiler cannot discover for itself. The compiler can also generate rules internally to propagate information obtained from automated analyses. The rewrite mechanism is fully implemented in the released Glasgow Haskell Compiler.

Citations

1122 Introduction to Functional Programming – Bird, Wadler - 1988
1078 Aspect-oriented programming – Kiczales, Lamping, et al. - 1997
622 Term Rewriting and All That – Baader, Nipkow - 1998
244 Why functional programming matters – Hughes - 1989
241 Checking system rules using system-specific, programmer-written compiler extensions – Engler, Chelf, et al. - 2000
158 QuickCheck: A lightweight tool for random testing of Haskell programs – Claessen, Hughes - 2000
154 A short cut to deforestation – Gill, Launchbury, et al.
119 Principles of Maude – Clavel, Eker, et al. - 1996
98 Building program optimizers with rewriting strategies – Visser, Benaissa, et al. - 1998
75 An annotation language for optimizing software libraries – Guyer, Lin - 1999
73 A transformation-based optimiser for Haskell. Science of Computer Programming – Jones, Santos - 1998
68 Algebra of Programming – Bird, Moor - 1997
66 Sharlit { A tool for building optimizers – Tjiang, K, et al. - 1992
57 The nofib benchmark suite of Haskell programs – Partain - 1992
52 Active libraries: Rethinking the roles of compilers and libraries – Veldhuizen, Gannon - 1998
37 RG: A Case-Study for AspectOriented Programming – Mendhekar, Kiczales, et al. - 1997
34 Telescoping languages: A strategy for automatic generation of scientific problem-solving systems from annotated libraries – Kennedy, Broom, et al.
34 Secrets of the Glasgow Haskell Compiler inliner – Jones, Marlow - 2002
34 Once upon a polymorphic type – Wansbrough, Jones - 1999
33 Unboxed values as first class citizens – Jones, Launchbury - 1991
30 OPAL: Design and Implementation of an Algebraic Programming Language – Didrich, Fett, et al. - 1994
28 Generic program transformation – Moor, Sittampalam - 1998
28 Imperative program transformation by rewriting – Lacey, Moor - 2001
25 How to uniformly specify program analysis and transformation with graph rewrite systems – Assmann - 1996
22 Compiling embedded languages – Elliott, Finne, et al. - 2003
19 Optimizing the use of high performance software libraries – Guyer, Lin - 2000
18 Checking system rules using system-speci programmer-written compiler extensions – Engler, Chelf, et al. - 2000
17 DFA&OPT-MetaFrame: A tool kit for program analysis and optimization – Klein, Knoop, et al. - 1996
15 KHEPERA: A system for rapid implementation of domain specific languages – Faith, Nyland, et al. - 1997
14 Functional array fusion – Chakravarty, Keller - 2001
13 Implementing computational systems with constraints – Kirchner, Kirchner, et al. - 1993
11 D.Richter. Transformation in intentional programming – Aitken, Dickens, et al. - 1998
10 Pattern-Based Languages for Prototyping of Compiler Optimizers – Farnum - 1990
7 The TAMPR program transformation system: Design and applications – Boyle, Harmer, et al.
6 Unboxed values as class citizens – Jones, S, et al. - 1991
5 Warm fusion – Launchbury, Sheard - 1995
5 OPTRAN - a language/system for the specification of program transformations: System overview and experiences – Lipps, Moncke, et al. - 1988
4 Modular lazy search for constraint satisfaction problems – Nordin, Tolmach - 2000
3 The design and implementation – Whitfield, Soffa - 1994
2 OPTRAN - a language/system for the speci of program transformations: System overview and experiences – Lipps, Moncke, et al. - 1988
2 The Hugs graphics library – Reid - 2000
2 Strategic pattern matching, in: Rewriting Techniques and Applications (RTA’99 – Visser - 1999
1 The design and implementation – Whit, Soa - 1994
1 OPT-METAFrame: A tool kit for program analysis and optimization – DFA - 1984
1 Pattern-Based Languages for Prototyping of Compiler Optimizers – Farhum - 1990