User:ParkerJones2007/Comparison of Prolog standards compliance

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

Validation

edit

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

Prolog versions

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

Syntax of terms

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

Operators

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

Lists and braces {}

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

Double quotes

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

Control structures

edit

true & fail

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

call

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

Cuts

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

Conjunction and disjuction

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

if-then

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

if-then-else

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

Catch

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

Unification

edit

Unify

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

Unify with occurs-check

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

Non-unification

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

Type tests

edit

Type tests: var

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

Atoms (constants)

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

Type tests: integers

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

Type tests: float

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

Type tests: atomic

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

Type tests: compound

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

Type tests: nonvar

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

Type tests: number

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

Term comparison

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

Creating and decomposing terms

edit

functor

edit
Prolog functor:1 functor:2 functor:3 functor:4 functor:5 functor:6 functor:7 functor:8 functor:9
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes Yes Yes Yes Yes Yes Yes Yes
gprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes Yes Yes
YAP Yes Yes Yes Yes Yes Yes Yes Yes Yes
Prolog functor:10 functor:11 functor:12 functor:13 functor:14 functor:15 functor:16 functor:17 functor:18
aprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes
ciao Yes Yes No No No No No No No
gprolog Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus Yes Yes Yes Yes Yes Yes Yes Yes Yes
sicstus4 Yes Yes Yes Yes Yes Yes Yes Yes Yes
swipl Yes Yes Yes Yes Yes Yes Yes No Yes
YAP Yes Yes Yes Yes Yes Yes Yes No Yes
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
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
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
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
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
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