Evaluation Order

Stratego -- Strategies for Program Transformation
The evaluation order of the alternatives of the NonDeterministicChoice operator + is undefined.


Improved efficiency of needed definition extraction by using dynamic rules instead of a list of definitions to look up definitions in. The effect of this change is that the order of evaluation of definitions for the same label is reversed. This is fine since the order of evaluation of rules/definitions with the same name is undefined, but it might break some specifications. It might be a good idea to change the evaluation order with every distribution in order to force programmers to use left choice when the order is relevant.

-- EelcoVisser - 17 Dec 2001

To assist users in detecting problems it would be useful to DetectOverlappingRules in the alternatives of a NonDeterministicChoice.

-- EelcoVisser - 17 Mar 2002


CategoryGlossary