High order strategies, defined

mystrat(s1:(a -> a) * a -> a, s2) = ….

when compiled with strc –library, are exported something like:

external mystrat(o_218 : a -> a * a -> a , p_218 : ATerm() -> ATerm() | )

which I believe should be..

external mystrat(o_218 : (a -> a) * a -> a , p_218 : ATerm() -> ATerm() | )

since these seem to be considered different.

–error message something like—
compiling simple.str
front-end succeeded: user 7.40 system 0.49
Not a strategy-definition: ExtSDef(“rule__process_next_2_0”,[VarDec(“o_218”,amb([FunType([ConstType(SortVar(“a”))],
FunType([ConstType(SortVar(“a”)),ConstType(SortVar(“a”))],ConstType(SortVar(“a”)))),
FunType([FunType([ConstType(SortVar(“a”))],ConstType(SortVar(“a”))),ConstType(SortVar(“a”))],
ConstType(SortVar(“a”)))])),VarDec(“p_218”,FunType([ConstType(Sort(“ATerm”,[]))],ConstType(Sort(“ATerm”,[]))))],[])
optimization succeeded: user 0.10 system 0.05
/home/dwaddington/proteus/libexec/strc/s2c: rewriting failed
compilation failed (8.16 secs)

I hope I have this correct ;-).

Submitted on 27 April 2005 at 20:05

On 27 April 2005 at 20:15 Jira commented:

STR-289, dwaddington:
Ooops, it was me who reported this. I forgot to log on.


On 19 October 2005 at 17:03 Jira commented:

STR-289, rbvermaa:
syntax was already adapted to enforce parentheses for fun types, the pretty-printer is now also adapted, which solves the stated problem

Log in to post comments