(this is work in progress, discussion)
#Queryanswer description SICStus 4.9.0 Scryer 0.10.0 Trealla 2.52.25 Ichiban 1.2.0 GNU 1.6.0 X 1.0.63 Tau 0.3.4 ECLiPSe 7.0#42 -L iso IV 1.4.2 SWI 9.3.25 YAP 7.4.0 B 7.8b7 IF V5.1B Minerva 2.4 Cx 0.98.3 Flowlog 4.9.6 Ciao 1.25.0 XSB 5.0.0
#Queryanswer description SI Sc Tr 1b GN X Τ EC IV SW YA B IF Mi Cx Fl Ci XS
1?- current_prolog_flag(max_arity,A). A = ... . 255 255 255 unb. 255 255 unb. unb. 1000? unb. unb. 65535 127 125 64 255 255 65535
2?- current_prolog_flag(max_arity,A),
functor(F,f,A).
A = ..., F = ... . OK OK OK n/a OK OK n/a n/a OK n/a n/a OK OK OK OK OK OK OK
3?- current_prolog_flag(max_arity,A),
A1 is A+1,functor(F,f,A1).
representation_error(
max_arity).
OK OK OK n/a OK OK n/a n/a true n/a n/a OK OK OK OK OK OK OK
4?- current_prolog_flag(max_arity,A),
functor(F,f,A),asserta(F).
true, ... . OK r._e. OK n/a OK OK n/a n/a OK n/a n/a OK OK OK db.e OK OK mem.v
5?- A= ...,functor(F,f,A),asserta(F). maximal A 255 254 255 none 255 255 none 255 err @@@ 1024 re._e.(m._p._a) 16383 s._e. 65535 127? 125 32 n/a 255 3352
6?- current_predicate(p/1000000). false. re._e.(m._a.) OK OK OK re._e.(m._a.) ty._e.(p._i,..) OK ty._e.(p._i.,..) OK OK OK OK OK re._e.(m._a.) re._e.(m._a.) OK OK OK
7?- N is 2^63,current_predicate(p/N). false
| evaluation_error(int_overflow).
re._e.(m._a.) f. f.
e.

e.

e.

e.
ty._e.(p._i.,..) ty._e.(e.,..) ty._e.(p._i.,..) res._e./2 t._a./3 float(N) ex._e. float(N) ty._e.(p._i.,..) ty._e.(e.,..) N < 0
8?- F=0x200000,N is F*F*F,current_predicate(p/N). false
| evaluation_error(int_overflow).
re._e.(m._a.) f. f.
e.

e.

e.

e.
ty._e.(p._i.,..) f. ty._e.(p._i.,..) res._e./2 t._a./3 f. N < 0 sy.e. ty._e.(p._i,..) f. N < 0
9?- catch(current_prolog_flag(max_procedure_arity,V), error(domain_error(prolog_flag, max_procedure_arity),_),V=none). V = none. none none none none none none none false false V=1024 false false none none db.e. none V=255 none
10?- current_prolog_flag(max_procedure_arity,V). domain_error(prolog_flag, max_procedure_arity). OK OK OK OK OK OK OK false false V=1024 false false OK OK db.e. OK V=255 OK
11?- current_prolog_flag(F,V), F=max_procedure_arity. false. OK OK OK OK OK OK OK OK OK V=1024 OK OK OK OK OK OK V=255 OK
12?- current_prolog_flag(always_invalid,V). domain_error(prolog_flag,always_invalid). OK OK OK OK OK OK OK false false false false false OK OK db.e. OK false OK
If representation_error(max_procedure_arity), then a flag is needed for it.
Version Control, Validated HTML