User:ParkerJones2007/Comparison of Prolog standards compliance

Prolog is a logic programming language. The ISO Prolog standard: ISO/IEC 13211-1[1], published in 1995, aims to standardise the existing practices of the many implementations of Prolog. It has clarified aspects of the language that were previously ambiguous.

Validation edit

The following tables compare the compliance of Prolog implementations with the ISO standard ISO/IEC 13211. The results were obtained by Péter Szabó and Péter Szeredi[2].

Prolog versions edit

  • SICStus 3.12.3 (running in ISO mode) [1]
  • SWI-Prolog 5.4.7 (running in ISO mode, garbage collection off).
  • Yap 5.0.1 (ISO mode disabled) [2]
  • gprolog 1.2.16
  • Ciao-prolog 1.10p6 [3]
  • aprolog 1.22

Syntax of terms edit

Prolog term_sx:1 term_sx:2 term_sx:3 term_sx:4 term_sx:5 term_sx:6 term_sx:7 term_sx:8
aprolog Yes Yes Yes Yes Yes Yes Yes Yes
ciao No No No No No No No No
gprolog Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes No No No Yes Yes Yes
YAP No No No No No No No No

Operators edit

Prolog ops:1 ops:2 ops:3 ops:4 ops:5 ops:6 ops:7 ops:8 ops:9 ops:10 ops:11 ops:12 ops:13 ops:14 ops:15
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao No No No No No No No No No No No No No No No
gprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
YAP No No No No No No No No No No No No No No No

Lists and braces {} edit

Prolog list:1 list:2 list:3 curly:1 curly:2
aprolog Yes Yes Yes Yes Yes
ciao No No No No No
gprolog Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes
YAP No No No No No

Double quotes edit

Prolog dbl_qts:1 dbl_qts:2 dbl_qts:3 dbl_qts:4 dbl_qts:5 dbl_qts:6 dbl_qts:7 dbl_qts:8 dbl_qts:9 dbl_qts:10 dbl_qts:11 dbl_qts:12
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao No No No No No No No No No No No No
gprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
YAP No No No No No No No No No No No No

Control structures edit

true & fail edit

Prolog true:1 fail:1
aprolog Yes Yes
ciao Yes Yes
gprolog Yes Yes
sicstus Yes Yes
sicstus4 Yes Yes
swipl Yes Yes
YAP Yes Yes

call edit

Prolog call:1 call:2 call:3 call:4 call:5 call:6 call:7 call:8 call:9 call:10 call:11 call:12 call:13 call:14 call:15
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes No No No No No No Yes Yes No No Yes
gprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No
YAP Yes Yes Yes Yes Yes Yes Yes No No No Yes No No No No

Cuts edit

Prolog cut:1 cut:2 cut:3 cut:4 cut:5 cut:6 cut:7 cut:8 cut:9 cut:10 cut:11 cut:12
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes No No No No No No No No No
gprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
YAP Yes Yes Yes No No No No No No No No No

Conjunction and disjuction edit

Prolog and:1 and:2 and:3 or:1 or:2 or:3 or:4 or:5
aprolog Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes Yes Yes
gprolog Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes
YAP Yes Yes Yes Yes Yes Yes Yes Yes

if-then edit

Prolog if_then:1 if_then:2 if_then:3 if_then:4 if_then:5 if_then:6
aprolog Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes
gprolog Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes
YAP Yes Yes Yes Yes Yes Yes

if-then-else edit

Prolog ifthels:1 ifthels:2 ifthels:3 ifthels:4 ifthels:5 ifthels:6 ifthels:7 ifthels:8 ifthels:9
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes Yes Yes Yes
gprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes Yes
YAP Yes Yes Yes Yes No Yes No No No

Catch edit

Prolog catch:1 catch:2 catch:3 catch:4 catch:5 catch:6 catch:7 catch:8
aprolog Yes Yes Yes Yes Yes Yes Yes Yes
ciao No No Yes No No Yes No Yes
gprolog Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes
YAP Yes Yes Yes Yes Yes No No No

Unification edit

Unify edit

Prolog unify:1 unify:2 unify:3 unify:4 unify:5 unify:6 unify:7 unify:8 unify:9 unify:10 unify:11 unify:12 unify:13 unify:14 unify:15 unify:16
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
gprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
YAP Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes

Unify with occurs-check edit

Prolog uni_woc:1 uni_woc:2 uni_woc:3 uni_woc:4 uni_woc:5 uni_woc:6 uni_woc:7 uni_woc:8 uni_woc:9 uni_woc:10 uni_woc:11 uni_woc:12 uni_woc:13 uni_woc:14 uni_woc:15 uni_woc:16
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
gprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
YAP Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes

Non-unification edit

Prolog not_uni:1 not_uni:2 not_uni:3 not_uni:4 not_uni:5 not_uni:6 not_uni:7 not_uni:8 not_uni:9 not_uni:10 not_uni:11 not_uni:12 not_uni:13 not_uni:14 not_uni:15
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
gprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
YAP Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes

Type tests edit

Type tests: var edit

Prolog war:1 war:2 war:3 war:4
aprolog Yes Yes Yes Yes
ciao Yes Yes Yes Yes
gprolog Yes Yes Yes Yes
sicstus Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes
swipl Yes Yes Yes Yes
YAP Yes Yes Yes Yes

Atoms (constants) edit

Prolog atom:1 atom:2 atom:3 atom:4 atom:5 atom:6 atom:7
aprolog Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes Yes
gprolog Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes
YAP Yes Yes Yes Yes Yes Yes Yes

Type tests: integers edit

Prolog integer:1 integer:2 integer:3 integer:4 integer:5
aprolog Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes
gprolog Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes
YAP Yes Yes Yes Yes Yes

Type tests: float edit

Prolog float:1 float:2 float:3 float:4 float:5
aprolog Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes
gprolog Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes
YAP Yes Yes Yes Yes Yes

Type tests: atomic edit

Prolog atomic:1 atomic:2 atomic:3 atomic:4 atomic:5
aprolog Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes
gprolog Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes
YAP Yes Yes Yes Yes Yes

Type tests: compound edit

Prolog compound:1 compound:2 compound:3 compound:4 compound:5 compound:6 compound:7 compound:8
aprolog Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes Yes Yes
gprolog Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes
YAP Yes Yes Yes Yes Yes Yes Yes Yes

Type tests: nonvar edit

Prolog nonvar:1 nonvar:2 nonvar:3 nonvar:4 nonvar:5 nonvar:6
aprolog Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes
gprolog Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes
YAP Yes Yes Yes Yes Yes Yes

Type tests: number edit

Prolog number:1 number:2 number:3 number:4 number:5
aprolog Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes
gprolog Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes
YAP Yes Yes Yes Yes Yes

Term comparison edit

Prolog trm_cmp:1 trm_cmp:2 trm_cmp:3 trm_cmp:4 trm_cmp:5 trm_cmp:6 trm_cmp:7 trm_cmp:8 trm_cmp:9 trm_cmp:10
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
gprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
YAP Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Prolog trm_cmp:11 trm_cmp:12 trm_cmp:13 trm_cmp:14 trm_cmp:15 trm_cmp:16 trm_cmp:17 trm_cmp:18 trm_cmp:19
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes Yes Yes Yes
gprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes Yes
YAP Yes Yes Yes Yes Yes Yes Yes Yes Yes

Creating and decomposing terms edit

functor edit

Prolog functor:1 functor:2 functor:3 functor:4 functor:5 functor:6 functor:7 functor:8 functor:9
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes Yes Yes Yes
gprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes Yes
YAP Yes Yes Yes Yes Yes Yes Yes Yes Yes
Prolog functor:10 functor:11 functor:12 functor:13 functor:14 functor:15 functor:16 functor:17 functor:18
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes No No No No No No No
gprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes No Yes
YAP Yes Yes Yes Yes Yes Yes Yes No Yes

arg edit

Prolog arg:1 arg:2 arg:3 arg:4 arg:5 arg:6 arg:7 arg:8 arg:9 arg:10 arg:11 arg:12 arg:13 arg:14 arg:15 arg:16
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes Yes No No No No Yes No No Yes No
gprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes
YAP Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes

univ edit

Prolog univ:1 univ:2 univ:3 univ:4 univ:5 univ:6 univ:7 univ:8 univ:9
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes No No No
gprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes Yes
YAP Yes Yes Yes Yes Yes Yes Yes Yes Yes
Prolog univ:10 univ:11 univ:12 univ:13 univ:14 univ:15 univ:16 univ:17 univ:18
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao No No No No No Yes No No No
gprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes No No ?
YAP Yes Yes Yes Yes Yes Yes No Yes No

copy_term edit

Prolog cp_term:1 cp_term:2 cp_term:3 cp_term:4 cp_term:5 cp_term:6 cp_term:7 cp_term:8 cp_term:9
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes Yes Yes Yes
gprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes Yes
YAP Yes Yes Yes Yes Yes Yes Yes Yes Yes

Arithmetic comparisons edit

Prolog ari_cmp:1 ari_cmp:2 ari_cmp:3 ari_cmp:4 ari_cmp:5 ari_cmp:6 ari_cmp:7 ari_cmp:8 ari_cmp:9 ari_cmp:10
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
gprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
YAP Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Prolog ari_cmp:11 ari_cmp:12 ari_cmp:13 ari_cmp:14 ari_cmp:15 ari_cmp:16 ari_cmp:17 ari_cmp:18 ari_cmp:19 ari_cmp:20
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes Yes Yes No No
gprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
YAP Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Prolog ari_cmp:21 ari_cmp:22 ari_cmp:23 ari_cmp:24
aprolog Yes Yes Yes Yes
ciao No No No No
gprolog Yes Yes Yes Yes
sicstus Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes
swipl Yes Yes Yes Yes
YAP Yes Yes Yes Yes

Manipulating the knowledge base edit

clause edit

Prolog clause:1 clause:2 clause:3 clause:4 clause:5 clause:6 clause:7 clause:8 clause:9 clause:10 clause:11 clause:12
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes No No Yes Yes No No No No Yes No
gprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes No
YAP Yes Yes Yes Yes Yes Yes Yes Yes No No Yes No

current_predicate edit

Prolog cur_prd:1 cur_prd:2 cur_prd:3 cur_prd:4 cur_prd:5 cur_prd:6 cur_prd:7 cur_prd:8 cur_prd:9
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes No No No Yes
gprolog Yes Yes Yes Yes Yes Yes Yes No Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes No No No Yes
swipl Yes No Yes Yes Yes No No No Yes
YAP Yes Yes Yes Yes Yes No No No Yes

asserta edit

Prolog asserta:1 asserta:2 asserta:3 asserta:4 asserta:5 asserta:6 asserta:7 asserta:8
aprolog Yes Yes Yes Yes Yes Yes Yes Yes
ciao No No No No No No No Yes
gprolog Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes No Yes
YAP Yes Yes Yes Yes No Yes No Yes

assertz edit

Prolog assertz:1 assertz:2 assertz:3 assertz:4 assertz:5 assertz:6 assertz:7
aprolog Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes Yes
gprolog Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes
YAP Yes Yes Yes Yes No Yes No

retract edit

Prolog retract:1 retract:2 retract:3 retract:4 retract:5 retract:6 retract:7 retract:8 retract:9 retract:10 retract:11
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao No No No No Yes No Yes No No No No
gprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No
YAP Yes Yes Yes Yes Yes No Yes No Yes Yes No

abolish edit

Prolog abolish:1 abolish:2 abolish:3 abolish:4 abolish:5 abolish:6 abolish:7 abolish:8 abolish:9 abolish:10 abolish:11 abolish:12 abolish:13 abolish:14
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes No No No No No No No No No No No No No
gprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes No No Yes Yes Yes Yes Yes Yes No No Yes No
swipl Yes Yes No No No Yes Yes Yes Yes Yes No Yes Yes Yes
YAP Yes Yes No No No Yes Yes Yes No Yes Yes No Yes No

Finding all solutions to a query edit

findall edit

Prolog findall:1 findall:2 findall:3 findall:4 findall:5 findall:6 findall:7 findall:8 findall:9
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes Yes Yes No
gprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes No
YAP Yes Yes Yes Yes Yes Yes Yes No No

bagof edit

Prolog bagof:1 bagof:2 bagof:3 bagof:4 bagof:5 bagof:6 bagof:7 bagof:8 bagof:9 bagof:10 bagof:11 bagof:12 bagof:13 bagof:14
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes Yes Yes No Yes No No Yes Yes
gprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes
YAP Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes No

setof edit

Prolog setof:1 setof:2 setof:3 setof:4 setof:5 setof:6 setof:7 setof:8 setof:9 setof:10
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
gprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
YAP Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Prolog setof:11 setof:12 setof:13 setof:14 setof:15 setof:16 setof:17 setof:18 setof:19 setof:20
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao No No No No No Yes Yes Yes Yes Yes
gprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl No Yes Yes Yes Yes Yes Yes Yes Yes Yes
YAP No Yes Yes Yes Yes Yes Yes Yes Yes Yes
Prolog setof:21 setof:22 setof:23 setof:24 setof:25 setof:26 setof:27 setof:28 setof:29
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao No No No No Yes Yes Yes Yes No
gprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes No Yes Yes No
YAP Yes Yes Yes Yes Yes No No Yes No

Input and Output edit

current_input edit

Prolog currinp:1 currinp:2 currinp:3 currinp:4 currinp:5
aprolog Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes
gprolog Yes Yes Yes No Yes
sicstus Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes
YAP Yes Yes Yes No Yes

current_output edit

Prolog currout:1 currout:2 currout:3 currout:4 currout:5
aprolog Yes Yes Yes Yes Yes
ciao Yes No Yes No Yes
gprolog Yes Yes Yes No Yes
sicstus Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes
swipl Yes Yes Yes No Yes
YAP Yes Yes Yes No Yes

set_input edit

Prolog set_in:1 set_in:2 set_in:3 set_in:4 set_in:5
aprolog Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes
gprolog Yes Yes No Yes Yes
sicstus Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes
YAP Yes Yes No No No

set_output edit

Prolog set_out:1 set_out:2 set_out:3 set_out:4 set_out:5
aprolog Yes Yes Yes Yes Yes
ciao Yes Yes Yes No Yes
gprolog Yes Yes No Yes Yes
sicstus Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes
swipl Yes Yes No No No
YAP Yes Yes No No No

open edit

Prolog open:1 open:2 open:3 open:4 open:5 open:6 open:7 open:8 open:9
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao No No No No Yes Yes No No No
gprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes Yes
YAP No Yes Yes Yes Yes Yes Yes Yes Yes
Prolog open:10 open:11 open:12 open:13 open:14 open:15 open:16 open:17
aprolog Yes Yes Yes Yes Yes Yes Yes Yes
ciao No No Yes Yes No Yes No No
gprolog Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes No No Yes Yes Yes No No
YAP Yes Yes Yes Yes Yes Yes Yes No

close edit

Prolog close:1 close:2 close:3 close:4 close:5 close:6 close:7 close:8 close:9
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes Yes Yes Yes
gprolog Yes Yes Yes Yes Yes Yes Yes No Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes Yes
YAP No Yes Yes Yes Yes Yes Yes No No

flush_output edit

Prolog flush_o:1 flush_o:2 flush_o:3 flush_o:4 flush_o:5 flush_o:6
aprolog Yes Yes Yes Yes Yes Yes
ciao No Yes Yes No Yes No
gprolog Yes No Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes
swipl Yes No Yes No Yes Yes
YAP No No Yes No No No

Stream properties edit

Prolog strprop:1 strprop:2 strprop:3 strprop:4 strprop:5 strprop:6 strprop:7
aprolog Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes Yes
gprolog Yes No Yes Yes No No Yes
sicstus Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes
YAP No No No Yes No No No

At end of stream test edit

Prolog atendst:8 atendst:9 atendst:10 atendst:11 atendst:12 atendst:13 atendst:14
aprolog Yes Yes Yes Yes Yes Yes Yes
ciao No No No No No No No
gprolog Yes No Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes
swipl Yes No No Yes Yes Yes Yes
YAP Yes No No No No No No

Set stream properties edit

Prolog setstrp:1 setstrp:2 setstrp:3 setstrp:4 setstrp:5 setstrp:6
aprolog Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes
gprolog Yes No No Yes No Yes
sicstus Yes Yes Yes Yes Yes Yes
sicstus4 No Yes No No Yes No
swipl Yes Yes Yes Yes Yes Yes
YAP No Yes No No Yes No

Reading characters: getchar and getcode edit

Prolog getchar:1 getcode:2 getchar:3 getcode:4 getchar:5 getcode:6 getchar:7 getcode:8 getchar:9 getcode:10
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao No No No No No No No No No No
gprolog Yes Yes Yes Yes Yes Yes Yes Yes No No
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
YAP No No No No No No No No No No
Prolog getchar:11 getcode:12 getchar:13 getchar:14 getchar:15 getchar:16 getchar:17 getchar:18 getchar:19 getchar:20
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes No No Yes No Yes No No
gprolog Yes Yes Yes Yes Yes No Yes Yes No No
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes No Yes
swipl Yes Yes Yes No No No No Yes No No
YAP Yes Yes Yes Yes Yes No No No No No
Prolog getchar:21 getchar:22 getcode:23 getcode:24 getcode:25 getcode:26 getcode:27 getcode:28 getcode:29 getcode:30
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao No No Yes No No No Yes No Yes No
gprolog Yes Yes Yes Yes Yes Yes No Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes No Yes No No No No No Yes Yes
YAP No No Yes No No No No No No No
Prolog getcode:31 getcode:32 getcode:33
aprolog Yes Yes Yes
ciao No No No
gprolog No Yes Yes
sicstus Yes Yes Yes
sicstus4 Yes Yes No
swipl No Yes No
YAP No No No

Writing characters: peekchr & peekcde edit

Prolog peekchr:1 peekcde:2 peekchr:3 peekcde:4 peekchr:5 peekcde:6 peekchr:7 peekcde:8 peekchr:9 peekcde:10
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
gprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
YAP No No No No No No No No No No
Prolog peekchr:11 peekchr:12 peekcde:13 peekchr:14 peekchr:15 peekchr:16 peekchr:17 peekchr:18 peekchr:19 peekchr:20
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
gprolog No Yes Yes Yes Yes Yes No Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
YAP No Yes Yes Yes Yes Yes No No No No
Prolog peekchr:21 peekchr:22 peekcde:23 peekcde:24 peekcde:25 peekcde:26 peekcde:27 peekcde:28 peekcde:29 peekcde:30
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
gprolog Yes Yes Yes Yes Yes Yes No Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
YAP No No Yes No No No No No No No
Prolog peekcde:31 peekcde:32 peekcde:33
aprolog Yes Yes Yes
ciao Yes Yes Yes
gprolog No Yes Yes
sicstus Yes Yes Yes
sicstus4 Yes Yes No
swipl Yes Yes Yes
YAP No No No

Writing characters: putchar & putcode & nl edit

Prolog putchar:1 putchar:2 putchar:3 putchar:4 putchar:5 putchar:6 putchar:7 putchar:8 putchar:9 putchar:10
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao No No No No No No No No No No
gprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes Yes No
YAP No No No No No No No No No No
Prolog nl:11 nl:12 putchar:13 putchar:14 putchar:15 putchar:16 putchar:17 putcode:18 putcode:19 putcode:20
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao No Yes No No No Yes No Yes Yes Yes
gprolog Yes Yes Yes Yes Yes Yes No Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes No Yes Yes Yes
swipl Yes Yes Yes Yes No Yes No Yes Yes No
YAP Yes Yes Yes Yes No No No Yes Yes No
Prolog putcode:21 putcode:22 putcode:23 putcode:24
aprolog Yes Yes Yes Yes
ciao Yes Yes Yes Yes
gprolog Yes Yes Yes No
sicstus Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes
swipl Yes No No No
YAP No No No No

Reading characters: getbyte edit

Prolog getbyte:1 getbyte:2 getbyte:3 getbyte:4 getbyte:5 getbyte:6 getbyte:7 getbyte:8 getbyte:9 getbyte:10 getbyte:11 getbyte:12 getbyte:13
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
gprolog Yes Yes Yes No Yes Yes Yes Yes No Yes Yes No No
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
YAP No No No No Yes Yes No No No No No No No

Writing characters: peekbte edit

Prolog peekbte:1 peekbte:2 peekbte:3 peekbte:4 peekbte:5 peekbte:6 peekbte:7 peekbte:8 peekbte:9 peekbte:10 peekbte:11 peekbte:12 peekbte:13
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao No No No No Yes Yes No No Yes No Yes No No
gprolog Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes No No
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes
swipl Yes Yes Yes Yes Yes Yes No No No No Yes No No
YAP No No No No Yes Yes No No No No No No No

Writing characters: putbyte edit

Prolog putbyte:1 putbyte:2 putbyte:3 putbyte:4 putbyte:5 putbyte:6 putbyte:7 putbyte:8 putbyte:9 putbyte:10 putbyte:11 putbyte:12 putbyte:13
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao No No No No Yes No No No No No Yes Yes Yes
gprolog Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes No ?
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes No
swipl Yes Yes Yes No Yes Yes No Yes No No Yes No Yes
YAP No No No No Yes No No No No No Yes No ?

Reading terms: read edit

Prolog read:1 read:2 read:3 read:4 read:5 read:6 read:7 read:8 read:9 read:10
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
gprolog No No No No Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
YAP No No No No No No No Yes Yes Yes
Prolog read:11 read:12 read:13 read:14 read:15 read:16 read:17 read:18 read:19 read:20
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
gprolog Yes No Yes Yes Yes No Yes No No No
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes No No Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
YAP Yes No Yes Yes Yes No No No No No
Prolog read:21 read:22 read:23 read:24
aprolog Yes Yes Yes Yes
ciao Yes Yes Yes Yes
gprolog No Yes Yes Yes
sicstus Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes
swipl Yes Yes Yes Yes
YAP Yes Yes Yes Yes

Writing terms: write edit

Prolog write:1 write:2 write:3 write:4 write:5 write:6 write:7 write:8 write:9 write:10
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao No No No No No No No Yes Yes Yes
gprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes No Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
YAP No No No No No No No Yes Yes Yes
Prolog write:11 write:12 write:13 write:14 write:15 write:16 write:17 write:18 write:19 write:20
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes No Yes Yes No Yes
gprolog Yes Yes Yes Yes Yes Yes No Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes No No Yes No Yes
YAP Yes Yes Yes Yes Yes No No Yes No No
Prolog write:21
aprolog Yes
ciao No
gprolog No
sicstus Yes
sicstus4 No
swipl No
YAP No

Operator precedence edit

Prolog op:1 op:2 op:3 op:4 op:5 op:6 op:7 op:8 op:9 op:10
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
gprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
YAP Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Prolog op:11 op:12 op:13 op:14 op:15 op:16 op:17 op:18 op:19
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes Yes Yes Yes
gprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes Yes
YAP Yes Yes Yes Yes Yes Yes Yes Yes Yes

current_op edit

Prolog currop:1 currop:2 currop:3 currop:4 currop:5
aprolog Yes Yes Yes Yes Yes
ciao No No No No No
gprolog Yes Yes Yes No Yes
sicstus Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes
swipl Yes Yes No No No
YAP Yes Yes Yes No Yes

Character conversion edit

char_conversion edit

Prolog charcnv:1 charcnv:2 charcnv:3 charcnv:4 charcnv:5 charcnv:6 charcnv:7 charcnv:8 charcnv:9 charcnv:10 charcnv:11 charcnv:12
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
gprolog No No Yes No Yes No No No No No Yes No
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
YAP No No No No No No No No No No No No

current_char_conversion edit

Prolog crchcnv:1
aprolog Yes
ciao No
gprolog Yes
sicstus Yes
sicstus4 Yes
swipl No
YAP No

Control structures (cont) edit

not edit

Prolog not:1 not:2 not:3 not:4 not:5 not:6 not:7 not:8
aprolog Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes Yes Yes
gprolog Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes
YAP Yes Yes Yes Yes Yes Yes Yes Yes

once edit

Prolog once:1 once:2 once:3 once:4 once:5 once:6 once:7
aprolog Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes Yes
gprolog Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes
YAP Yes Yes Yes Yes Yes No Yes

repeat edit

Prolog repeat:1 repeat:2
aprolog Yes Yes
ciao No Yes
gprolog Yes Yes
sicstus Yes Yes
sicstus4 Yes Yes
swipl Yes Yes
YAP No Yes

Character-string operations edit

atom_length edit

Prolog atomlen:1 atomlen:2 atomlen:3 atomlen:4 atomlen:5 atomlen:6 atomlen:7 atomlen:8 atomlen:9 atomlen:10 atomlen:11
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
gprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
YAP Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes

atom_concat edit

Prolog atomcat:1 atomcat:2 atomcat:3 atomcat:4 atomcat:5 atomcat:6 atomcat:7 atomcat:8 atomcat:9 atomcat:10 atomcat:11 atomcat:12 atomcat:13 atomcat:14 atomcat:15
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
gprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes
YAP Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Yes

sub_atom edit

Prolog subatom:1 subatom:2 subatom:3 subatom:4 subatom:5 subatom:6 subatom:7 subatom:8 subatom:9 subatom:10
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
gprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
YAP Yes No Yes Yes Yes Yes Yes Yes Yes Yes
Prolog subatom:11 subatom:12 subatom:13 subatom:14 subatom:15 subatom:16 subatom:17 subatom:18 subatom:19 subatom:20
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
gprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
YAP No Yes Yes No Yes Yes Yes Yes Yes Yes
Prolog subatom:21 subatom:22 subatom:23 subatom:24 subatom:25 subatom:26 subatom:27 subatom:28 subatom:29 subatom:30
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
gprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
YAP Yes Yes Yes Yes Yes No Yes No No No
Prolog subatom:31 subatom:32 subatom:33 subatom:34 subatom:35 subatom:36 subatom:37 subatom:38
aprolog Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes Yes Yes
gprolog Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes
YAP Yes Yes Yes Yes Yes Yes Yes Yes

atom_chars edit

Prolog atomchs:1 atomchs:2 atomchs:3 atomchs:4 atomchs:5 atomchs:6 atomchs:7 atomchs:8 atomchs:9 atomchs:10 atomchs:11 atomchs:12 atomchs:13 atomchs:14 atomchs:15
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes
gprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes No Yes Yes
YAP Yes No No No No No Yes Yes No No Yes Yes No No No

atom_codes edit

Prolog atomcds:1 atomcds:2 atomcds:3 atomcds:4 atomcds:5 atomcds:6 atomcds:7 atomcds:8 atomcds:9 atomcds:10 atomcds:11 atomcds:12 atomcds:13 atomcds:14 atomcds:15 atomcds:16
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes No Yes No
gprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No
YAP Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes

char_code edit

Prolog charcde:1 charcde:2 charcde:3 charcde:4 charcde:5 charcde:6 charcde:7 charcde:8 charcde:9
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes Yes Yes Yes
gprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes Yes
YAP Yes Yes Yes No Yes Yes Yes No Yes

number_chars edit

Prolog numbchs:1 numbchs:2 numbchs:3 numbchs:4 numbchs:5 numbchs:6 numbchs:7 numbchs:8 numbchs:9 numbchs:10
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes No No No No
gprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes No Yes Yes Yes
YAP No No Yes No No No No No No No
Prolog numbchs:11 numbchs:12 numbchs:13 numbchs:14 numbchs:15 numbchs:16 numbchs:17 numbchs:18 numbchs:19 numbchs:20
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes No No Yes Yes No No
gprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes No No No No No
YAP No No Yes Yes Yes No No No No No
Prolog numbchs:21 numbchs:22 numbchs:23 numbchs:24 numbchs:25 numbchs:26 numbchs:27
aprolog Yes Yes Yes Yes Yes Yes Yes
ciao No No No No No No No
gprolog Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes
swipl No Yes Yes Yes Yes Yes Yes
YAP No No No No No No No

number_codes edit

Prolog numbcds:1 numbcds:2 numbcds:3 numbcds:4 numbcds:5 numbcds:6 numbcds:7 numbcds:8 numbcds:9 numbcds:10
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
gprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
YAP Yes Yes Yes Yes Yes No Yes Yes Yes Yes
Prolog numbcds:11 numbcds:12 numbcds:13 numbcds:14 numbcds:15 numbcds:16 numbcds:17 numbcds:18 numbcds:19 numbcds:20
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
gprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
YAP Yes Yes Yes Yes Yes Yes No No No ?
Prolog numbcds:21 numbcds:22
aprolog Yes Yes
ciao Yes Yes
gprolog Yes Yes
sicstus Yes Yes
sicstus4 Yes Yes
swipl Yes Yes
YAP No No

Flags edit

Set_prolog_flag edit

Prolog setpflg:1 setpflg:2 setpflg:3 setpflg:4 setpflg:5 setpflg:6
aprolog Yes Yes Yes Yes Yes Yes
ciao Yes No No No No No
gprolog Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes No No Yes
YAP Yes Yes Yes No Yes Yes

Current_prolog_flag edit

Prolog curpflg:1 curpflg:2 curpflg:3 curpflg:4 curpflg:5 curpflg:6 curpflg:7 curpflg:8
aprolog Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes Yes Yes
gprolog Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes
YAP Yes No Yes No Yes Yes No Yes

Terminating execution edit

Prolog halt1:1 halt1:2 halt1:3
aprolog Yes Yes Yes
ciao Yes Yes Yes
gprolog Yes Yes Yes
sicstus Yes Yes Yes
sicstus4 Yes Yes Yes
swipl Yes Yes Yes
YAP Yes Yes Yes

Arithmetic: Where expressions are evaluated edit

Prolog eval:1 eval:2 eval:3 eval:4 eval:5 eval:6 eval:7 eval:8 eval:9 eval:10
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes No No Yes Yes Yes No No
gprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
YAP Yes Yes Yes Yes No Yes Yes Yes Yes No
Prolog eval:11 eval:12 eval:13 eval:14 eval:15 eval:16 eval:17 eval:18 eval:19 eval:20
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes No No Yes Yes Yes No No
gprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
YAP Yes Yes Yes Yes No Yes Yes Yes Yes No
Prolog eval:21 eval:22 eval:23 eval:24 eval:25 eval:26 eval:27 eval:28 eval:29 eval:30
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes No No No Yes
gprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
YAP Yes Yes Yes Yes Yes Yes Yes No No Yes
Prolog eval:31 eval:32 eval:33 eval:34 eval:35 eval:36 eval:37 eval:38 eval:39 eval:40
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes No No No Yes Yes Yes Yes Yes
gprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes No Yes Yes Yes Yes Yes Yes Yes Yes
YAP Yes No Yes No Yes Yes No No No No
Prolog eval:41 eval:42 eval:43 eval:44 eval:45 eval:46 eval:47 eval:48 eval:49 eval:50
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes No Yes Yes No Yes Yes Yes No No
gprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
YAP No Yes No No No Yes Yes Yes Yes No
Prolog eval:51 eval:52 eval:53 eval:54 eval:55 eval:56 eval:57 eval:58 eval:59 eval:60
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes No No Yes Yes Yes Yes Yes
gprolog Yes Yes Yes Yes Yes No No No No No
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes No Yes
YAP Yes Yes Yes Yes No Yes Yes Yes Yes Yes

Arithmetic: functors allowed in expressions edit

pow edit

Prolog pow:1 pow:2 pow:3 pow:4 pow:5 pow:6 pow:7
aprolog Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes Yes
gprolog Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes
YAP Yes Yes Yes Yes No Yes Yes

sin edit

Prolog sin:1 sin:2 sin:3 sin:4 sin:5
aprolog Yes Yes Yes Yes Yes
ciao Yes No Yes No Yes
gprolog Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes
YAP Yes Yes Yes No Yes

cos edit

Prolog cos:1 cos:2 cos:3 cos:4 cos:5
aprolog Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes
gprolog Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes
YAP Yes Yes Yes No Yes

atan edit

Prolog atan:1 atan:2 atan:3 atan:4 atan:5
aprolog Yes Yes Yes Yes Yes
ciao Yes Yes No Yes No
gprolog Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes
YAP Yes Yes Yes Yes No

exp1 edit

Prolog exp1:1 exp1:2 exp1:3 exp1:4 exp1:5
aprolog Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes
gprolog Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes
YAP Yes Yes Yes Yes No

log edit

Prolog log:1 log:2 log:3 log:4 log:5 log:6
aprolog Yes Yes Yes Yes Yes Yes
ciao Yes Yes No No No No
gprolog Yes Yes Yes No Yes No
sicstus Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes
YAP Yes Yes Yes No No No

sqrt edit

Prolog sqrt:1 sqrt:2 sqrt:3 sqrt:4 sqrt:5 sqrt:6
aprolog Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes
gprolog Yes Yes Yes Yes No Yes
sicstus Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes
YAP Yes Yes Yes Yes No No

Bitwise operations edit

Right shift edit

Prolog bit_rsh:1 bit_rsh:2 bit_rsh:3 bit_rsh:4 bit_rsh:5 bit_rsh:6
aprolog Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes No No No
gprolog Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes No
YAP Yes Yes Yes Yes No Yes

Left shift edit

Prolog bit_lsh:1 bit_lsh:2 bit_lsh:3 bit_lsh:4 bit_lsh:5 bit_lsh:6
aprolog Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes
gprolog Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes
YAP Yes Yes Yes Yes No Yes

Bitwise and edit

Prolog bit_and:1 bit_and:2 bit_and:3 bit_and:4 bit_and:5 bit_and:6 bit_and:7
aprolog Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes No No No
gprolog Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes No
YAP Yes Yes Yes Yes Yes No Yes

Bitwise or edit

Prolog bit_or:1 bit_or:2 bit_or:3 bit_or:4 bit_or:5 bit_or:6 bit_or:7
aprolog Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes Yes
gprolog Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes
YAP Yes Yes Yes Yes Yes No Yes

Bitwise negation edit

Prolog bit_neg:1 bit_neg:2 bit_neg:3 bit_neg:4 bit_neg:5 bit_neg:6
aprolog Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes No No
gprolog Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes
YAP Yes Yes Yes Yes Yes Yes

References edit

  1. ^ ISO/IEC 13211: Information technology — Programming languages — Prolog. International Organization for Standardization, Geneva.
  2. ^ Péter Szabó and Péter Szeredi (2006). Improving the ISO Prolog standard by analyzing compliance test results. Proceedings of the International Conference on Logic Programming. http://www.inf.bme.hu/~pts/stdprolog/
  • Prolog: The Standard P. Deransart, A. Ed-Dbali, and L. Cervoni, Springer 1996, and list of other Prolog references.

See also edit