Tests in alice.tuprolog.concordion.ControlConstructs reveal a bug in call/1
More tests should be formed by call/1
. For instance, if its argument is a conjunction/disjunction, that argument should be unfolded and each item of the unfolded conjunction/disjunction should be tested, to ensure it is a valid goal.
For instance:
-
call((fail, 1)).
should throw a type error because 1 is not a correct goal -
so should
call(((a, 2), 1)).
-
so should
call((1 ; true)).
Edited by Giovanni Ciatto