Proceedings of the Third ACM SIGPLAN International Conference on Functional Programming 1998
DOI: 10.1145/289423.289425
|View full text |Cite
|
Sign up to set email alerts
|

Building program optimizers with rewriting strategies

Abstract: We describe a language for defining term rewriting strategies, and its application to the production of program optimizers. Valid transformations on program terms can be described by a set of rewrite rules; rewriting strategies are used to describe when and how the various rules should be applied in order to obtain the desired optimization effects. Separating rules from strategies in this fashion makes it easier to reason about the behaviof of the optimizer as a whole, compared to traditional monolithic optimi… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
139
0

Year Published

2000
2000
2013
2013

Publication Types

Select...
4
1
1

Relationship

0
6

Authors

Journals

citations
Cited by 177 publications
(139 citation statements)
references
References 13 publications
0
139
0
Order By: Relevance
“…Mentions of simple "laws" for strategies as well as strategy properties can be found scattered over the strategic programming literature [22,6,24,21,9,3]. The present paper provides the first substantial attempt of a systematic discussion of programming errors and their relationship to strategy properties.…”
Section: Related Workmentioning
confidence: 91%
See 4 more Smart Citations
“…Mentions of simple "laws" for strategies as well as strategy properties can be found scattered over the strategic programming literature [22,6,24,21,9,3]. The present paper provides the first substantial attempt of a systematic discussion of programming errors and their relationship to strategy properties.…”
Section: Related Workmentioning
confidence: 91%
“…We assume basic strategy combinators as they were pioneered by the Stratego language [22]: "id " -the always succeeding strategy returning the input term as is; "fail " -the always failing strategy; "sequ ss ′ " -sequential composition of s and s ′ ;" choice ss ′ " -try s first, and try s ′ second, if s failed; "all s" -apply s to all immediate subterms of a given term, and fail if there is any subterm for which s fails; "one s" -apply s to the leftmost immediate subterm of a given term such that the application does not fail, and fail if there is no such immediate subterm. The combinators all and one, when used recursively, enable the key capability of strategic programming: traversal arbitrarily deeply into terms.…”
Section: Strategic Programmingmentioning
confidence: 99%
See 3 more Smart Citations