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.
[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 |
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 |
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 |
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
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 |
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 |
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 |
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 |
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 |
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 |
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 |
[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
[edit] Control structures (cont)
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 |
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] 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
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 |
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 |
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 |
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
- ^ ISO/IEC 13211: Information technology — Programming languages — Prolog. International Organization for Standardization, Geneva.
- ^ 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