Updating to VIP 10
Posted: 20 Apr 2021 23:48
Hello Thomas,
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:
The above construction has worked out in VIP 9.0.6 and it also works in VIP 10 in 32-bit mode. Only in 64-bit mode of VIP 10 it rises an access violation.
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