| # | Query | answer 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| # | Query | answer 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 |
representation_error(max_procedure_arity), then a flag
is needed for it.