]> Repositorios git - scryer-prolog.git/commitdiff
shed module names from arguments of the (->)/2, (,)/2, (;)/2 predicates
authorMark Thom <[email protected]>
Sat, 6 Feb 2021 05:50:57 +0000 (22:50 -0700)
committerMark Thom <[email protected]>
Sat, 6 Feb 2021 05:50:57 +0000 (22:50 -0700)
src/lib/builtins.pl
src/loader.pl

index 2be9c783daebf51509b8388bc5246e6c2e09a11a..588a12fe808cdcc5d3cb1c8c04741a4685f2fef1 100644 (file)
@@ -243,15 +243,26 @@ call_or_cut(G, B, ErrorPI) :-
 
 call_or_cut(!, B) :-
     '$set_cp_by_default'(B).
+call_or_cut(_:!, B) :-
+    '$set_cp_by_default'(B).
 call_or_cut((G1, G2), B) :-
     !,
     '$call_with_default_policy'(','(G1, G2, B)).
+call_or_cut(_:(G1, G2), B) :-
+    !,
+    '$call_with_default_policy'(','(G1, G2, B)).
 call_or_cut((G1 ; G2), B) :-
     !,
     '$call_with_default_policy'(';'(G1, G2, B)).
+call_or_cut(_:(G1 ; G2), B) :-
+    !,
+    '$call_with_default_policy'(';'(G1, G2, B)).
 call_or_cut((G1 -> G2), B) :-
     !,
     '$call_with_default_policy'(->(G1, G2, B)).
+call_or_cut(_:(G1 -> G2), B) :-
+    !,
+    '$call_with_default_policy'(->(G1, G2, B)).
 call_or_cut(G, _) :-
     '$call_with_default_policy'(G).
 
@@ -261,14 +272,26 @@ call_or_cut(G, _) :-
     !,
     '$call_with_default_policy'(','(G1, G2, B)),
     '$call_with_default_policy'(call_or_cut(G3, B, (',')/2)).
+','(_:(G1, G2), G3, B) :-
+    !,
+    '$call_with_default_policy'(','(G1, G2, B)),
+    '$call_with_default_policy'(call_or_cut(G3, B, (',')/2)).
 ','((G1; G2), G3, B) :-
     !,
     '$call_with_default_policy'(';'(G1, G2, B)),
     '$call_with_default_policy'(call_or_cut(G3, B, (',')/2)).
+','(_:(G1; G2), G3, B) :-
+    !,
+    '$call_with_default_policy'(';'(G1, G2, B)),
+    '$call_with_default_policy'(call_or_cut(G3, B, (',')/2)).
 ','((G1 -> G2), G3, B) :-
     !,
     '$call_with_default_policy'(->(G1, G2, B)),
     '$call_with_default_policy'(call_or_cut(G3, B, (',')/2)).
+','(_:(G1 -> G2), G3, B) :-
+    !,
+    '$call_with_default_policy'(->(G1, G2, B)),
+    '$call_with_default_policy'(call_or_cut(G3, B, (',')/2)).
 ','(G1, G2, B) :-
     '$call_with_default_policy'(call_or_cut(G1, B, (',')/2)),
     '$call_with_default_policy'(call_or_cut(G2, B, (',')/2)).
@@ -280,17 +303,33 @@ call_or_cut(G, _) :-
     (  '$call_with_default_policy'(','(G1, G2, B))
     ;  '$call_with_default_policy'(call_or_cut(G3, B, (;)/2))
     ).
+';'(_:(G1, G2), G3, B) :-
+    !,
+    (  '$call_with_default_policy'(','(G1, G2, B))
+    ;  '$call_with_default_policy'(call_or_cut(G3, B, (;)/2))
+    ).
 ';'((G1; G2), G3, B) :-
     !,
     (  '$call_with_default_policy'(';'(G1, G2, B))
     ;  '$call_with_default_policy'(call_or_cut(G3, B, (;)/2))
     ).
+';'(_:(G1; G2), G3, B) :-
+    !,
+    (  '$call_with_default_policy'(';'(G1, G2, B))
+    ;  '$call_with_default_policy'(call_or_cut(G3, B, (;)/2))
+    ).
 ';'((G1 -> G2), G3, B) :-
     !,
     (  '$call_with_default_policy'(call_or_cut(G1, B, (->)/2)) ->
        '$call_with_default_policy'(call_or_cut(G2, B, (->)/2))
     ;  '$call_with_default_policy'(call_or_cut(G3, B, (;)/2))
     ).
+';'(_:(G1 -> G2), G3, B) :-
+    !,
+    (  '$call_with_default_policy'(call_or_cut(G1, B, (->)/2)) ->
+       '$call_with_default_policy'(call_or_cut(G2, B, (->)/2))
+    ;  '$call_with_default_policy'(call_or_cut(G3, B, (;)/2))
+    ).
 ';'(G1, G2, B) :-
     (  '$call_with_default_policy'(call_or_cut(G1, B, (;)/2))
     ;  '$call_with_default_policy'(call_or_cut(G2, B, (;)/2))
@@ -303,16 +342,31 @@ call_or_cut(G, _) :-
     (  '$call_with_default_policy'(','(G1, G2, B)) ->
        '$call_with_default_policy'(call_or_cut(G3, B, (->)/2))
     ).
+->(_:(G1, G2), G3, B) :-
+    !,
+    (  '$call_with_default_policy'(','(G1, G2, B)) ->
+       '$call_with_default_policy'(call_or_cut(G3, B, (->)/2))
+    ).
 ->((G1 ; G2), G3, B) :-
     !,
     (  '$call_with_default_policy'(';'(G1, G2, B)) ->
        '$call_with_default_policy'(call_or_cut(G3, B, (->)/2))
     ).
+->(_:(G1 ; G2), G3, B) :-
+    !,
+    (  '$call_with_default_policy'(';'(G1, G2, B)) ->
+       '$call_with_default_policy'(call_or_cut(G3, B, (->)/2))
+    ).
 ->((G1 -> G2), G3, B) :-
     !,
     (  '$call_with_default_policy'(->(G1, G2, B)) ->
        '$call_with_default_policy'(call_or_cut(G3, B, (->)/2))
     ).
+->(_:(G1 -> G2), G3, B) :-
+    !,
+    (  '$call_with_default_policy'(->(G1, G2, B)) ->
+       '$call_with_default_policy'(call_or_cut(G3, B, (->)/2))
+    ).
 ->(G1, G2, B) :-
     (   '$call_with_default_policy'(call_or_cut(G1, B, (->)/2))
     ->  '$call_with_default_policy'(call_or_cut(G2, B, (->)/2))
index 2f5f70ff618c18373a269653da80524abff26337..0ac97ac66fd9c3d976f50899d3e24f606d02e61e 100644 (file)
@@ -398,16 +398,16 @@ predicate_property(Callable, Property) :-
     ).
 
 
-strip_module_(M0, G0, M1, G1) :-
+strip_module(M0, G0, M1, G1) :-
     (  nonvar(G0),
        G0 = (MG1:G2) ->
-       strip_module_(MG1, G2, M1, G1)
+       strip_module(MG1, G2, M1, G1)
     ;  M0 = M1,
        G0 = G1
     ).
-strip_module(Goal, M, G) :-
-    strip_module_(_, Goal, M, G).
 
+strip_module(Goal, M, G) :-
+    strip_module(_, Goal, M, G).
 
 
 expand_subgoal(UnexpandedGoals, MS, Module, ExpandedGoals, HeadVars) :-