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.

Contents

[edit] Validation

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].

[edit] Prolog versions

  • 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

[edit] Syntax of terms

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

[edit] Operators

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

[edit] Lists and braces {}

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

[edit] Double quotes

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

[edit] Control structures

[edit] true & fail

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

[edit] call

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

[edit] Cuts

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

[edit] Conjunction and disjuction

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

[edit] if-then

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

[edit] if-then-else

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

[edit] Catch

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

[edit] Unification

[edit] Unify

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

[edit] Unify with occurs-check

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

[edit] Non-unification

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

[edit] Type tests

[edit] Type tests: var

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

[edit] Atoms (constants)

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

[edit] Type tests: integers

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

[edit] Type tests: float

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

[edit] Type tests: atomic

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

[edit] Type tests: compound

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

[edit] Type tests: nonvar

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

[edit] Type tests: number

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

[edit] Term comparison

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

[edit] Creating and decomposing terms

[edit] functor

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

[edit] arg

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

[edit] univ

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

[edit] copy_term

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

[edit] Arithmetic comparisons

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

[edit] Manipulating the knowledge base

[edit] clause

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

[edit] current_predicate

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

[edit] asserta

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

[edit] assertz

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

[edit] retract

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

[edit] abolish

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

[edit] Finding all solutions to a query

[edit] findall

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

[edit] bagof

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

[edit] setof

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

[edit] Input and Output

[edit] current_input

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

[edit] current_output

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

[edit] set_input

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

[edit] set_output

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

[edit] open

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

[edit] close

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

[edit] flush_output

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

[edit] Stream properties

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

[edit] At end of stream test

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

[edit] Set stream properties

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

[edit] Reading characters: getchar and getcode

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

[edit] Writing characters: peekchr & peekcde

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

[edit] Writing characters: putchar & putcode & nl

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

[edit] Reading characters: getbyte

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

[edit] Writing characters: peekbte

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

[edit] Writing characters: putbyte

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 ?

[edit] Reading terms: read

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

[edit] Writing terms: write

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

[edit] Operator precedence

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

[edit] current_op

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

[edit] Character conversion

[edit] char_conversion

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

[edit] current_char_conversion

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

[edit] Control structures (cont)

[edit] not

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

[edit] once

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

[edit] repeat

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

[edit] Character-string operations

[edit] atom_length

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

[edit] atom_concat

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

[edit] sub_atom

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

[edit] atom_chars

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

[edit] atom_codes

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

[edit] char_code

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

[edit] number_chars

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

[edit] number_codes

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

[edit] Flags

[edit] Set_prolog_flag

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

[edit] Current_prolog_flag

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

[edit] Terminating execution

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

[edit] Arithmetic: Where expressions are evaluated

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

[edit] Arithmetic: functors allowed in expressions

[edit] pow

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

[edit] sin

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

[edit] cos

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

[edit] atan

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

[edit] exp1

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

[edit] log

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

[edit] sqrt

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

[edit] Bitwise operations

[edit] Right shift

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

[edit] Left shift

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

[edit] Bitwise and

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

[edit] Bitwise or

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

[edit] Bitwise negation

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

[edit] References

  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/

[edit] See also