on updating my code to new VIP 10 the compiler has complained at some surprising places. When I inspected these places in detail, I found that there were bugs in my code which the 9.0.6 compiler (and me) had not noticed before. Apparently the polymorphic type checking has become smarter in VIP 10 and my code now more correct. That's great!
There appeared but one issue in my code at which please have a look:
Code: Select all
interface myObj{@Type}
predicates
doSomething : (@Type Val).
end interface myObj
%---
class myObj{@Type} : myObj{@Type}
where @Type supports unsigned
end class myObj
%---
implement myObj{@Type}
clauses
doSomething(Val) :-
NextVal = Val + 1,
stdIo::write(NextVal).
end implement myObj
%===
implement main
clauses
run() :-
Obj = myObj::new(),
Obj:doSomething(1).
end implement main