previous fixes would not work for ! (eg, call((!,X=2;X=3))).
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1183 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
parent
1c681ebd9b
commit
6c7b891ec8
22
pl/boot.yap
22
pl/boot.yap
@ -611,6 +611,28 @@ incore(G) :- '$execute'(G).
|
|||||||
'$save_current_choice_point'(CP),
|
'$save_current_choice_point'(CP),
|
||||||
'$call'(G, CP, G, M).
|
'$call'(G, CP, G, M).
|
||||||
|
|
||||||
|
|
||||||
|
','(X,Y) :-
|
||||||
|
'$save_current_choice_point'(CP),
|
||||||
|
'$current_module'(M),
|
||||||
|
'$call'(X,CP,G0,M),
|
||||||
|
'$call'(Y,CP,G0,M).
|
||||||
|
';'(X,Y) :-
|
||||||
|
'$save_current_choice_point'(CP),
|
||||||
|
'$current_module'(M),
|
||||||
|
( '$call'(X,CP,G0,M) ; '$call'(Y,CP,G0,M) ).
|
||||||
|
'|'(X,Y) :-
|
||||||
|
'$save_current_choice_point'(CP),
|
||||||
|
'$current_module'(M),
|
||||||
|
( '$call'(X,CP,G0,M) ; '$call'(Y,CP,G0,M) ).
|
||||||
|
'|'(X,Y) :-
|
||||||
|
'$save_current_choice_point'(CP),
|
||||||
|
'$current_module'(M),
|
||||||
|
( '$call'(X,CP,G0,M) -> '$call'(Y,CP,G0,M) ).
|
||||||
|
\+(G) :- \+ '$execute'(G).
|
||||||
|
not(G) :- \+ '$execute'(G).
|
||||||
|
|
||||||
|
|
||||||
%
|
%
|
||||||
% do it in ISO mode.
|
% do it in ISO mode.
|
||||||
%
|
%
|
||||||
|
@ -27,12 +27,6 @@ false :- fail.
|
|||||||
(:- G) :- '$execute'(G), !.
|
(:- G) :- '$execute'(G), !.
|
||||||
'$$!'(CP) :- '$cut_by'(CP).
|
'$$!'(CP) :- '$cut_by'(CP).
|
||||||
[] :- true.
|
[] :- true.
|
||||||
','(A,B) :- '$execute'(A), '$execute'(B).
|
|
||||||
';'(A,B) :- ('$execute'(A) ; '$execute'(B)).
|
|
||||||
'|'(A,B) :- ('$execute'(A) ; '$execute'(B)).
|
|
||||||
'->'(A,B) :- ('$execute'(A) -> '$execute'(B)).
|
|
||||||
\+(G) :- \+ '$execute'(G).
|
|
||||||
not(G) :- \+ '$execute'(G).
|
|
||||||
|
|
||||||
|
|
||||||
:- set_value('$doindex',true).
|
:- set_value('$doindex',true).
|
||||||
|
Reference in New Issue
Block a user