12:- system_module( '$_strict_iso', [], [
'$check_iso_strict_clause'/1,
13 '$iso_check_goal'/2]).
15:-
'$do_error'/2
use_system_module(
'$_errors', []).
17'$iso_check_goal'(
V,
G)
:-
19 '$do_error'(instantiation_error,call(
G)).
20'$iso_check_goal'(
V,
G)
:-
22 '$do_error'(type_error(callable,
V),
G).
23'$iso_check_goal'(
_:G,
G0)
:- '$iso_check_goal',
24 '$iso_check_goal'(
G,
G0).
25'$iso_check_goal'((
G1,
G2),
G0)
:- '$iso_check_goal',
26 '$iso_check_a_goal'(
G1,(
G1,
G2),
G0),
27 '$iso_check_a_goal'(
G2,(
G1,
G2),
G0).
28'$iso_check_goal'((
G1;G2),
G0)
:- '$iso_check_goal',
29 '$iso_check_a_goal'(
G1,(
G1;G2),
G0),
30 '$iso_check_a_goal'(
G2,(
G1;G2),
G0).
31'$iso_check_goal'((
G1->G2),
G0)
:- '$iso_check_goal',
32 '$iso_check_a_goal'(
G1,(
G1->G2),
G0),
33 '$iso_check_a_goal'(
G2,(
G1->G2),
G0).
34'$iso_check_goal'(!,
_)
:- '$iso_check_goal'.
35'$iso_check_goal'((
G1|G2),
G0)
:-
37 '$do_error'(domain_error(builtin_procedure,(
G1|G2)), call(
G0)).
38'$iso_check_goal'((
G1|G2),
G0)
:- '$iso_check_goal',
39 '$iso_check_a_goal'(
G1,(
G1|G2),
G0),
40 '$iso_check_a_goal'(
G2,(
G1|G2),
G0).
41'$iso_check_goal'(
G,
G0)
:-
43 '$system_predicate'(
G,prolog),
49 '$do_error'(domain_error(builtin_procedure,
G), call(
G0))
51'$iso_check_goal'(
_,
_).
53'$iso_check_a_goal'(
V,
_,
G)
:-
55 '$do_error'(instantiation_error,call(
G)).
56'$iso_check_a_goal'(
V,
E,
G)
:-
58 '$do_error'(type_error(callable,
E),call(
G)).
59'$iso_check_a_goal'(
_:G,
E,
G0)
:- '$iso_check_a_goal',
60 '$iso_check_a_goal'(
G,
E,
G0).
61'$iso_check_a_goal'((
G1,
G2),
E,
G0)
:- '$iso_check_a_goal',
62 '$iso_check_a_goal'(
G1,
E,
G0),
63 '$iso_check_a_goal'(
G2,
E,
G0).
64'$iso_check_a_goal'((
G1;G2),
E,
G0)
:- '$iso_check_a_goal',
65 '$iso_check_a_goal'(
G1,
E,
G0),
66 '$iso_check_a_goal'(
G2,
E,
G0).
67'$iso_check_a_goal'((
G1->G2),
E,
G0)
:- '$iso_check_a_goal',
68 '$iso_check_a_goal'(
G1,
E,
G0),
69 '$iso_check_a_goal'(
G2,
E,
G0).
70'$iso_check_a_goal'(!,
_,
_)
:- '$iso_check_a_goal'.
71'$iso_check_a_goal'((
_|_),
E,
G0)
:-
73 '$do_error'(domain_error(builtin_procedure,
E), call(
G0)).
74'$iso_check_a_goal'((
_|_),
_,
_)
:- '$iso_check_a_goal'.
75'$iso_check_a_goal'(
G,
_,
G0)
:-
77 '$is+system_predicate'(
G,prolog),
83 '$do_error'(domain_error(builtin_procedure,
G), call(
G0))
85'$iso_check_a_goal'(
_,
_,
_).
87'$check_iso_strict_clause'((
_:-B))
:- '$check_iso_strict_clause',
88 '$check_iso_strict_body'(
B).
89'$check_iso_strict_clause'(
_).
91'$check_iso_strict_body'((
B1,
B2))
:- '$check_iso_strict_body',
92 '$check_iso_strict_body'(
B1),
93 '$check_iso_strict_body'(
B2).
94'$check_iso_strict_body'((
B1;B2))
:- '$check_iso_strict_body',
95 '$check_iso_strict_body'(
B1),
96 '$check_iso_strict_body'(
B2).
97'$check_iso_strict_body'((
B1->B2))
:- '$check_iso_strict_body',
98 '$check_iso_strict_body'(
B1),
99 '$check_iso_strict_body'(
B2).
100'$check_iso_strict_body'(
B)
:-
101 '$check_iso_strict_goal'(
B).
103'$check_iso_strict_goal'(
G)
:-
104 '$is_system_predicate'(
G,prolog),
'$is_system_predicate',
105 '$check_iso_system_goal'(
G).
106'$check_iso_strict_goal'(
_).
109'$check_iso_system_goal'(
G)
:-
110 '$iso_builtin'(
G),
'$iso_builtin'.
111'$check_iso_system_goal'(
G)
:-
112 '$do_error'(domain_error(builtin_procedure,
G),
G).
114'$iso_builtin'(abolish(
_)).
115'$iso_builtin'(acylic_term(
_)).
116'$iso_builtin'(arg(
_,
_,
_)).
117'$iso_builtin'(
_=:=_).
118'$iso_builtin'(
_=\=_).
123'$iso_builtin'(asserta(
_)).
124'$iso_builtin'(assertz(
_)).
125'$iso_builtin'(at_end_of_stream).
126'$iso_builtin'(at_end_of_stream(
_)).
127'$iso_builtin'(atom(
_)).
128'$iso_builtin'(atom_chars(
_,
_)).
129'$iso_builtin'(atom_codes(
_,
_)).
130'$iso_builtin'(atom_concat(
_,
_,
_)).
131'$iso_builtin'(atom_length(
_,
_)).
132'$iso_builtin'(atomic(
_)).
133'$iso_builtin'(bagof(
_,
_,
_)).
134'$iso_builtin'(call(
_)).
135'$iso_builtin'(call(
_,
_)).
136'$iso_builtin'(call(
_,
_,
_)).
137'$iso_builtin'(call(
_,
_,
_,
_)).
138'$iso_builtin'(call(
_,
_,
_,
_,
_)).
139'$iso_builtin'(call(
_,
_,
_,
_,
_,
_)).
140'$iso_builtin'(call(
_,
_,
_,
_,
_,
_,
_)).
141'$iso_builtin'(call(
_,
_,
_,
_,
_,
_,
_,
_)).
142'$iso_builtin'(callable(
_)).
143'$iso_builtin'(catch(
_,
_,
_)).
144'$iso_builtin'(char_code(
_,
_)).
145'$iso_builtin'(char_conversion(
_,
_)).
146'$iso_builtin'(clause(
_,
_)).
147'$iso_builtin'(close(
_)).
148'$iso_builtin'(close(
_,
_)).
149'$iso_builtin'(compare(
_,
_,
_)).
150'$iso_builtin'(compound(
_)).
151'$iso_builtin'((
_,
_)).
152'$iso_builtin'(copy_term(
_,
_)).
153'$iso_builtin'(current_char_conversion(
_,
_)).
154'$iso_builtin'(current_input(
_)).
155'$iso_builtin'(current_op(
_,
_,
_)).
156'$iso_builtin'(current_output(
_)).
157'$iso_builtin'(current_predicate(
_)).
158'$iso_builtin'(current_prolog_flag(
_,
_)).
160'$iso_builtin'((
_;_)).
162'$iso_builtin'(false).
163'$iso_builtin'(findall(
_,
_,
_)).
164'$iso_builtin'(float(
_)).
165'$iso_builtin'(abort).
166'$iso_builtin'(flush_output).
167'$iso_builtin'(flush_output(
_)).
168'$iso_builtin'(functor(
_,
_,
_)).
169'$iso_builtin'(get_byte(
_)).
170'$iso_builtin'(get_byte(
_,
_)).
171'$iso_builtin'(get_char(
_)).
172'$iso_builtin'(get_char(
_,
_)).
173'$iso_builtin'(get_code(
_)).
174'$iso_builtin'(get_code(
_,
_)).
175'$iso_builtin'(ground(
_)).
177'$iso_builtin'(halt(
_)).
178'$iso_builtin'((
_->_)).
179'$iso_builtin'(integer(
_)).
180'$iso_builtin'(
_ is _).
181'$iso_builtin'(keysort(
_,
_)).
183'$iso_builtin'(nl(
_)).
184'$iso_builtin'(nonvar(
_)).
185'$iso_builtin'(
\+(
_)).
186'$iso_builtin'(number(
_)).
187'$iso_builtin'(number_chars(
_,
_)).
188'$iso_builtin'(number_codes(
_,
_)).
189'$iso_builtin'(once(
_)).
190'$iso_builtin'(op(
_,
_,
_)).
191'$iso_builtin'(open(
_,
_,
_)).
192'$iso_builtin'(open(
_,
_,
_,
_)).
193'$iso_builtin'(peek_byte(
_)).
194'$iso_builtin'(peek_byte(
_,
_)).
195'$iso_builtin'(peek_char(
_)).
196'$iso_builtin'(peek_char(
_,
_)).
197'$iso_builtin'(peek_code(
_)).
198'$iso_builtin'(peek_code(
_,
_)).
199'$iso_builtin'(put_byte(
_)).
200'$iso_builtin'(put_byte(
_,
_)).
201'$iso_builtin'(put_char(
_)).
202'$iso_builtin'(put_char(
_,
_)).
203'$iso_builtin'(put_code(
_)).
204'$iso_builtin'(put_code(
_,
_)).
205'$iso_builtin'(read(
_)).
206'$iso_builtin'(read(
_,
_)).
207'$iso_builtin'(read_term(
_,
_)).
208'$iso_builtin'(read_term(
_,
_,
_)).
209'$iso_builtin'(repeat).
210'$iso_builtin'(retract(
_)).
211'$iso_builtin'(retractall(
_)).
212'$iso_builtin'(set_input(
_)).
213'$iso_builtin'(set_output(
_)).
214'$iso_builtin'(set_prolog_flag(
_,
_)).
215'$iso_builtin'(set_stream_position(
_,
_)).
216'$iso_builtin'(setof(
_,
_,
_)).
217'$iso_builtin'(sort(
_,
_)).
218'$iso_builtin'(stream_property(
_,
_)).
219'$iso_builtin'(sub_atom(
_,
_,
_,
_,
_)).
220'$iso_builtin'(subsumes_term(
_,
_)).
222'$iso_builtin'(
_@>=_).
225'$iso_builtin'(
_@=<_).
226'$iso_builtin'(
_\==_).
227'$iso_builtin'(term_variables(
_,
_)).
228'$iso_builtin'(throw(
_)).
232'$iso_builtin'(unify_with_occurs_check(
_,
_)).
233'$iso_builtin'(
_384=.._385).
234'$iso_builtin'(var(
_)).
235'$iso_builtin'(write(
_)).
236'$iso_builtin'(write(
_,
_)).
237'$iso_builtin'(write_canonical(
_)).
238'$iso_builtin'(write_canonical(
_,
_)).
239'$iso_builtin'(write_term(
_,
_)).
240'$iso_builtin'(write_term(
_,
_,
_)).
241'$iso_builtin'(writeq(
_)).
242'$iso_builtin'(writeq(
_,
_)).
244current_prolog_flag(? Flag,- Value)