RewritingStrategies are little programs that define the position and order of application of
RewriteRules. Rules are identified by means of labels. Typical strategy combinators are choice and sequential composition and operators for
TermTraversal?.
RewritingStrategies were first introduced in
ELAN (inspired by
RewritingLogic? and
TheoremProvingTactics?). The
StrategoLanguage takes an extreme view of strategies by implementing
RewriteRules as a combination of primitive strategies for
PatternMatching and
PatternInstantiation?.