2015
DOI: 10.1007/978-3-319-23165-5_18
|View full text |Cite
|
Sign up to set email alerts
|

Rewriting Strategies and Strategic Rewrite Programs

Abstract: This survey aims at providing unified definitions of strategies, strategic rewriting and strategic programs. It gives examples of main constructs and languages used to write strategies. It also explores some properties of strategic rewriting and operational semantics of strategic programs. Current research topics are identified.

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
8
0

Year Published

2016
2016
2023
2023

Publication Types

Select...
4
2
1

Relationship

0
7

Authors

Journals

citations
Cited by 11 publications
(8 citation statements)
references
References 58 publications
(83 reference statements)
0
8
0
Order By: Relevance
“…This approach is generally fast, but complicates support for cyclic or expansive rules, and makes both rewriting performance and output quality dependent on fine-grained rule orderings. Past work has extensively investigated how to mitigate these challenges by scheduling rules [Barendregt et al 1987;Borovanskỳ et al 1998;Dershowitz 1982;Knuth and Bendix 1983], special casing cyclic and expansive rules [Bachmair et al 2000;Dershowitz 1987;Eker 2003;Lucas 2001], and efficiently implementing rewrite rule-based search [Clavel et al 2007;Kirchner 2015;Visser 2001a,b]. Many systems still rely on ad hoc rule orderings and heuristic mitigations developed through trial and error, though recent work [Newcomb et al 2020] has demonstrated how reduction orders [Baader and Nipkow 1998] can be automatically synthesized and then used to effectively guide destructive term rewriting systems.…”
Section: Implementing Rewrite Systemsmentioning
confidence: 99%
“…This approach is generally fast, but complicates support for cyclic or expansive rules, and makes both rewriting performance and output quality dependent on fine-grained rule orderings. Past work has extensively investigated how to mitigate these challenges by scheduling rules [Barendregt et al 1987;Borovanskỳ et al 1998;Dershowitz 1982;Knuth and Bendix 1983], special casing cyclic and expansive rules [Bachmair et al 2000;Dershowitz 1987;Eker 2003;Lucas 2001], and efficiently implementing rewrite rule-based search [Clavel et al 2007;Kirchner 2015;Visser 2001a,b]. Many systems still rely on ad hoc rule orderings and heuristic mitigations developed through trial and error, though recent work [Newcomb et al 2020] has demonstrated how reduction orders [Baader and Nipkow 1998] can be automatically synthesized and then used to effectively guide destructive term rewriting systems.…”
Section: Implementing Rewrite Systemsmentioning
confidence: 99%
“…Program transformations using rewrite rules and strategy languages have since been used in different domains including reverse engineering [Chikofsky and II 1990], refactoring [Fowler 1999], and obfuscation [Collberg et al 1998]. Visser [Visser 2001b[Visser , 2005 and Kirchner [Kirchner 2015] provide surveys covering term rewriting, strategy languages and their application domains. Tactic languages including [Delahaye 2000] and [Felty 1993] are related to strategy languages but are designed for specifying proofs in theorem provers.…”
Section: Related Workmentioning
confidence: 99%
“…ELEVATE is inspired by strategy languages for rewrite systems ś mainly unknown to the high-performance community ś such as Stratego by Visser [2001a]. Kirchner [2015] provides a recent overview of the rewriting community's research. Figure 1 shows an overview of our approach showing the compilation flow from a high-level program and an optimization strategy to high-performance code.…”
Section: Introductionmentioning
confidence: 99%
“…While rewrite rules are a straightforward choice for encoding single program transformation, it might be required to apply a rule only to a subpart of a program, multiple rules in a specific order, or en-/disable rules during a specific phase. To control the application of rewrite rules, strategy languages such as Stratego [3,38] have been proposed -Kirchner [21] provides a recent overview of the field. These strategy languages enable strategic rewriting by composing individual rewrite rules into larger rewrite strategies that encode the transformation of an entire program.…”
Section: Introductionmentioning
confidence: 99%