Dynamic rules are applied by term equivalence, and this is a problem for terms with annotations. This concerns terms that are used to define dynamic rules as well as terms to which a dynamic rule is applied.

In most situations (but maybe not all!) you want to do matching modulo annotations. This is expensive to support, but maybe this can be supported by the ATerm library by providing an ATerm identifier modulo annotations. This has been discussed with Jurgen Vinju and might be implemented in future versions of the ATerm library. We could also maintain such a mapping ourselves in a hashtable.

This feature is more or less required to allow the widespread annotation of terms with position information in the Stratego compiler.

Submitted on 31 October 2004 at 18:52

On 21 July 2005 at 12:16 Jira commented:

STR-196, martin:
Btw, of course this feature would also be very helpful in tracing position information in Dryad.


On 22 July 2005 at 15:36 Jira commented:

STR-196, visser:
This depends on an extension of the ATerm library with equality modulo annotations. After that some language design issues remain (how to indicate that you want this; it shouldn’t be the default). It shouldn’t be available only for dynamic rule matching, but for any term matching in Stratego.

This is not going to be realizable in the short term. Postponed.


On 9 January 2013 at 16:55 Eelco Visser removed tag 0.22

On 9 January 2013 at 16:55 Eelco Visser tagged interesting

Log in to post comments