| # | Query | answer description with errors from 13211-1:1995 and 8.18.1.3 | SICStus 4.9.0 | Scryer 0.9.4 | Trealla 2.52.25 | GNU 1.6.0 | Ichiban 1.2.0 | ECLiPSe 7.0#42 -L iso | Tau 0.3.4 | SWI 9.3.17 | X 1.0.63 | YAP 7.4.0 | XSB 5.0.0 | B 7.8b7 | Ciao 1.24.0 | Minerva 2.4 | IF V5.1B | IV 1.4.2 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| # | Query | answer description | SICStus | Scryer | Trealla | GNU | Ichiban | ECLiPSe | Tau | SWI | X | YAP | XSB | B | Ciao | Minerva | IF | IV |
| c1 | ?- call(1). | type_error(callable,1). | OK | OK | OK | OK | OK | OK | OK | OK | OK | OK | OK | OK | OK | OK | OK | OK |
| c2 | ?- call((1,fail)). | type_error(callable,(1,fail)). | OK | OK | OK | OK | OK | OK | OK | OK | OK | OK | ..(..,1) | ..(..,1) | ..(..,1) | ..(..,1) | ..(..,1) | ..(..,1) |
| c3 | ?- call((fail,1)). | type_error(callable,(fail,1)). | OK | OK | OK | OK | OK | OK | OK | OK | OK | OK | ..(..,1) | false | false | false | OK | ..(..,1) |
| c4 | ?- call((!;1)). | type_error(callable,(!;1)). | OK | OK | OK | OK | OK | OK | OK | OK | OK | true | OK | true | true | true | OK | ..(..,1) |
| c5 | ?- call((!;\+1)). | true. | OK | OK | OK | OK | OK | OK | OK | t._e.(c.,...) | OK | OK | OK | OK | OK | OK | OK | OK |
| c6 | ?- call((!;call(1))). | true. | OK | OK | OK | OK | OK | OK | OK | OK | OK | OK | OK | OK | OK | OK | OK | OK |
| c7 | ?- call((\+!;X=a)). | X=a. | OK | OK | OK | OK | OK | OK | OK | OK | OK | OK | OK | OK | Warning | OK | OK | OK |
| f1 | ?- functor(T,F,A). | instantiation_error. | OK | OK | OK | OK | OK | OK | OK | OK | OK | OK | OK | OK | OK new | OK | OK | OK |
| f2 | ?- functor(T,1,2). | type_error(atom,1). | OK | OK | OK | OK | OK | OK | OK | OK | OK | OK | false | OK | OK new | OK | OK | OK |
| f3 | ?- functor([_],.,2). | true. | OK | OK | OK | OK | OK | OK | OK | false | OK | OK | OK | OK | OK | OK | OK | OK |
| a1 | ?- asserta(a), clause(a,true). | true. | OK | OK | OK | OK | OK | OK | OK | OK | OK | OK | OK | OK | false | OK | OK | p._e.(m.,s.,a/0)** OK |
| a2 | ?- asserta((a,b)). | permission_error(modify,static_procedure,(',')/2). | ..(..,..,user:..) | OK | OK | OK | OK | OK | OK | OK | OK | true | OK | OK | ..(..,..,'b.:,'/2) | true | OK | ..(..,..,(a,b)) |
| d1 | ?- asserta((:-a)). | permission_error(modify,static_procedure,(:-)/1 ). | OK ..(..,..,user:..) | OK | OK | true | true | true | true | true | true | true | true | true | true | true | OK | ..(..,..,(:-a))** true |
| d2 | /**/ ?- clause((:-a),B). | permission_error(access,private_procedure,(:-)/1). | OK ..(..,..,user:..) | OK | false | B=true | B=true | B=true | B=true | B=true | B=true | ..(..,sy._p.,..) | B=true | B=true | B='bas.:true' | B=true | false | B=true |
| d3 | /**/ ?- (:-A). | existence_error(procedure,(:-)/1). | con._e.(q.,cl._or_di.)* | OK | OK | A=a | A=a | A=a* | A=a | A=a | A=a | A=a* | A=a | A=a | A=a | A=a | OK | A=a |
| d4 | ?- (:-A). | existence_error(procedure,(:-)/1). | con._e.(q.,cl._or_di.)* | OK | OK | OK | OK | OK* | OK | OK | OK | i._e. | usermod: | OK | ..(..,'user::-'/1) | OK | OK | undef._c.((:-)/1) |
| d5 | ?- call(:-,A). | existence_error(procedure,(:-)/1). | con._e.(q.,cl._or_di.) | OK | OK | OK | OK | OK | OK | OK | OK | i._e. | OK | OK | ..(..,'user:call'/2) | ..(..,call/2) | i._e. | undef._c.(call/2)? |
| r1 | ?- asserta(((a:-b):-true)). | permission_error(modify,static_procedure,(:-)/2 ). | OK ..(..,..,user:..) | OK | OK | true | true | true | true | true | true | true | OK | true | true | true | OK | ..(..,..,(a:-b))** true |
| r2 | /**/ ?- clause((a:-b),B). | permission_error(access,private_procedure,(:-)/2). | OK ..(..,..,user:..) | OK | false | B=true | B=true | B=true | B=true | false | B=true? | B=true | ..(..,p._pred.,..) | B=true | B='bas.:true' | B=true | false | false |
| r3 | /**/continue ?- (A:-b). | existence_error(procedure,(:-)/1). | con._e.(q.,cl._or_di.)* | OK | OK | A=a | A=a | A=a* | A=a | A=a | A=a | A=a* | A=a | A=a | A=a | A=a | OK | undef._c.((:-)/1) |
| r4 | ?- (A:-B). | existence_error(procedure,(:-)/2). | con._e.(q.,cl._or_di.)* | OK | OK | OK | OK | OK* | OK | OK | OK | i._e. | usermod: | OK | ..(..,'user::-'/1) | OK | OK | undef._c.((:-)/1) |
| r5 | ?- call(:-,A,B). | existence_error(procedure,(:-)/2). | con._e.(q.,cl._or_di.) | OK | OK | OK | OK | OK | OK | OK | OK | i._e. | OK | OK | ..(..,'user:call'/2) | ..(..,call/2) | i._e. | undef._c.(call/2)? |
| g1 | ?- asserta((a-->b)). | permission_error(modify,static_procedure,(-->)/2). | OK ..(..,..,user:..) | OK | OK | true | true | OK | true | true | true | true | OK | true | true | true | OK | OK |
| g2 | /**/ ?- clause((a-->b),B). | permission_error(access,private_procedure,(-->)/2). | OK ..(..,..,user:..) | OK | OK | B=true | B=true | OK | B=true | B=true | B=true | ..(..,s._p.,..) | OK | B=true | B='bas.:true' | B=true | false | false |
| g3 | ?- (X-->Y). | existence_error(procedure,(-->)/2). | con._e.(q.,cl._or_di.) | OK | OK | OK | OK | throw(abort) | OK | OK | OK | X= ..,Y= (call(A);call(B))* | OK | OK | ..(..,'user:-->'/2) | OK | OK | undef._c.((-->)/2) |
call(G_0)
dynamic(P/N) for assert