Content deleted Content added
Line 10,298:
Line 10,298:
*[http://www.sju.edu/~jhodgson/x3j17.html X3J17] committee
*[http://www.sju.edu/~jhodgson/x3j17.html X3J17] committee
[[Category:Prolog programming language family]]
<!-- [[Category:Prolog programming language family]]
[[Category:Computer and telecommunication standards]]
[[Category:Computer and telecommunication standards]]
[[Category:Software comparisons|Prolog standards compliance]]
[[Category:Software comparisons|Prolog standards compliance]] -->
Revision as of 04:05, 15 September 2009
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
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
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
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
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 {}
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
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
true & fail
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
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
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
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
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
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
Unification
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
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
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
Type tests
Type tests: var
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
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
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
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
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
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
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
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
Creating and decomposing terms
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
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
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
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
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
Manipulating the knowledge base
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
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
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
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
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
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
Finding all solutions to a query
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
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
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
Input and Output
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
?
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
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
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
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
Character conversion
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
current_char_conversion
Control structures (cont)
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
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
repeat
Character-string operations
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
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
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
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
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
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
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
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
?
Flags
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
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
Terminating execution
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
Arithmetic: functors allowed in expressions
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
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
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
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
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
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
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
Bitwise operations
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
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
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
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
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
References
Prolog: The Standard P. Deransart, A. Ed-Dbali, and L. Cervoni, Springer 1996, and list of other Prolog references.
See also