Represent Strategy As Term

Stratego -- Strategies for Program Transformation
By representing a strategy as a term, it can be passed around. This requires an EvalStrategy? operator that evaluates such a term. This need not be a primitive;

Problems

  • How to distinghuish congruence strategies represented as terms from terms themselves?

  • By declaring constructors for the strategies, a congruence operator is declared automatically. This should be avoided. That is, the user should not declare these constructors, but they should be generated implicitly from strategy definitions.

  • Closures?

-- EelcoVisser - 27 Oct 2001


CategoryToDo? | LanguageExtensions