The Stratego editor cannot resolve parameterized strategies, like:

a = b(c)
b(s) = s(|"a") 
c(|d) = id

This is valid Stratego but gives an error in the editor. This also is the case when explicitly typing the strategy, like:

b(s : ATerm * ATerm -> ATerm) = s(|"a") 
Submitted by Nathan Bruning on 4 May 2010 at 14:07

On 17 May 2010 at 13:02 Lennart Kats commented:

Higher-order strategies are very rare. The standard Stratego compiler simply ignores the arguments of the call to c because it is called inside a strategy argument. We can probably do the same; the Java runtime checks if it’s actually safe.


On 28 May 2011 at 19:40 Nathan Bruning commented:

Got annoyed. Fixed in r22953.


On 28 May 2011 at 19:40 Nathan Bruning closed this issue.

Log in to post comments