I made two observations (neither of them but being important) about this predicate:
Code: Select all
predicates test : (boolean Flag). clauses test(Flag):- if Flag = true then A = 1, stdIo::write("we don't use A in this branch") else A = 0, stdIo::write(A) end if.
2nd is, that when setting a breakpoint on line stdIo::write(A) and calling the predicate by test(false), then the value of A is displayed in "Variables in the Current Clause" as 1 at this line, nevertheless it correctly writes 0 to the Messages window.