diff --git a/pl/boot.yap b/pl/boot.yap index ddcfcd830..da5596308 100644 --- a/pl/boot.yap +++ b/pl/boot.yap @@ -611,6 +611,28 @@ incore(G) :- '$execute'(G). '$save_current_choice_point'(CP), '$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. % diff --git a/pl/init.yap b/pl/init.yap index d47b8b076..5ae802536 100644 --- a/pl/init.yap +++ b/pl/init.yap @@ -27,12 +27,6 @@ false :- fail. (:- G) :- '$execute'(G), !. '$$!'(CP) :- '$cut_by'(CP). [] :- 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).