User:ParkerJones2007/Comparison of Prolog standards compliance

From Wikipedia, the free encyclopedia

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]