STR-289: High order strategies exported incorrectly
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
Issue Log
STR-289, dwaddington:
Ooops, it was me who reported this. I forgot to log on.
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