]> Repositorios git - scryer-prolog.git/commitdiff
introduce expand_call_goal/3 to expand goals in control meta-predicates (#1568)
authorMark Thom <[email protected]>
Sun, 14 Aug 2022 19:18:34 +0000 (13:18 -0600)
committerMark Thom <[email protected]>
Thu, 27 Oct 2022 05:36:07 +0000 (23:36 -0600)
src/lib/dcgs.pl
src/loader.pl

index 13be7aceb728a082fcc5c2ae202a37aba571f004..54160cf6e2001f824144138b0ad1fd93cf295e0d 100644 (file)
@@ -26,7 +26,7 @@ phrase(GRBody, S0, S) :-
     ;  nonvar(GRBody1),
        dcg_constr(GRBody1),
        dcg_body(GRBody1, S0, S, GRBody2) ->
-       call(GRBody2)
+       call(M:GRBody2)
     ;  call(M:GRBody1, S0, S)
     ).
 
index 5bc8769770dfa015e5a34f3eae1e3242e70512c6..d276ae309b6df5f3ec76b765e9be3de40c80ff57 100644 (file)
@@ -749,7 +749,6 @@ expand_module_names(Goals, MetaSpecs, Module, ExpandedGoals, HeadVars) :-
 :- non_counted_backtracking expand_goal/3.
 
 expand_goal(UnexpandedGoals, Module, ExpandedGoals) :-
-    % if a goal isn't callable, defer to call/N to report the error.
     catch(loader:expand_goal(UnexpandedGoals, Module, ExpandedGoals, []),
           error(type_error(callable, _), _),
           UnexpandedGoals = ExpandedGoals),
@@ -777,6 +776,40 @@ expand_goal(UnexpandedGoals, Module, ExpandedGoals, HeadVars) :-
     ).
 
 
+/*
+ * private predicate for use in call/N. it doesn't specially consider
+ * control predicates as expand_goal does with expand_goal_cases.
+ * HeadVars is always [].
+ */
+
+:- non_counted_backtracking expand_call_goal/3.
+
+expand_call_goal(UnexpandedGoals, Module, ExpandedGoals) :-
+    % if a goal isn't callable, defer to call/N to report the error.
+    catch(loader:expand_call_goal_(UnexpandedGoals, Module, ExpandedGoals),
+          error(type_error(callable, _), _),
+          UnexpandedGoals = ExpandedGoals),
+    !.
+
+
+:- non_counted_backtracking expand_call_goal_/3.
+
+expand_call_goal_(UnexpandedGoals, Module, ExpandedGoals) :-
+    (  var(UnexpandedGoals) ->
+       expand_module_names(call(UnexpandedGoals), [0], Module, ExpandedGoals, [])
+    ;  goal_expansion(UnexpandedGoals, Module, UnexpandedGoals1),
+       (  Module \== user ->
+          goal_expansion(UnexpandedGoals1, user, Goals)
+       ;  Goals = UnexpandedGoals1
+       ),
+       (  predicate_property(Module:Goals, meta_predicate(MetaSpecs0)),
+          MetaSpecs0 =.. [_ | MetaSpecs] ->
+          expand_module_names(Goals, MetaSpecs, Module, ExpandedGoals, [])
+       ;  thread_goals(Goals, ExpandedGoals, (','))
+       ;  Goals = ExpandedGoals
+       )
+    ).
+
 :- non_counted_backtracking expand_goal_cases/4.
 
 expand_goal_cases((Goal0, Goals0), Module, ExpandedGoals, HeadVars) :-
@@ -859,7 +892,7 @@ thread_goals(Goals0, Goals1, Hole, Functor) :-
 %                     '$call_with_inference_counting'(ModuleCallClause0)),
 %                (Head :- CallClause,
 %                         (  '$call_inline'(G1)
-%                         ;  expand_goal(G1, M1, G2),
+%                         ;  expand_call_goal(G1, M1, G2),
 %                            strip_subst_module(G2, M1, M2, G3),
 %                            '$call_with_inference_counting'(ModuleCallClause1)
 %                         ))].
@@ -876,7 +909,7 @@ thread_goals(Goals0, Goals1, Hole, Functor) :-
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 % The '$call' functor is an escape hatch from goal expansion. So far,
-% it is used only to avoid infinite recursion into expand_goal/3.
+% it is used only to avoid infinite recursion into expand_call_goal/3.
 
 :-non_counted_backtracking call/1.
 call(G) :-
@@ -892,7 +925,7 @@ call('$call'(G0)) :-
 call(G) :-
    '$prepare_call_clause'(G0,M1,G),
    (  '$call_inline'(G0) %% '$call_inline' cuts (only) after succeeding.
-   ;  expand_goal(G0, M1, G1),
+   ;  expand_call_goal(G0, M1, G1),
       strip_subst_module(G1, M1, M2, G2),
       '$call_with_inference_counting'('$module_call'(M2, G2))
    ).
@@ -911,7 +944,7 @@ call('$call'(A),B) :-
 call(A,B) :-
    '$prepare_call_clause'(C,D,A,B),
    (  '$call_inline'(C)
-   ;  expand_goal(C,D,E),
+   ;  expand_call_goal(C,D,E),
       strip_subst_module(E,D,F,G),
       '$call_with_inference_counting'('$module_call'(F,G))
    ).
@@ -930,7 +963,7 @@ call('$call'(A),B,C) :-
 call(A,B,C) :-
    '$prepare_call_clause'(D,E,A,B,C),
    (  '$call_inline'(D)
-   ;  expand_goal(D,E,F),
+   ;  expand_call_goal(D,E,F),
       strip_subst_module(F,E,G,H),
       '$call_with_inference_counting'('$module_call'(G,H))
    ).
@@ -949,7 +982,7 @@ call('$call'(A),B,C,D) :-
 call(A,B,C,D) :-
    '$prepare_call_clause'(E,F,A,B,C,D),
    (  '$call_inline'(E)
-   ;  expand_goal(E,F,G),
+   ;  expand_call_goal(E,F,G),
       strip_subst_module(G,F,H,I),
       '$call_with_inference_counting'('$module_call'(H,I))
    ).
@@ -968,7 +1001,7 @@ call('$call'(A),B,C,D,E) :-
 call(A,B,C,D,E) :-
    '$prepare_call_clause'(F,G,A,B,C,D,E),
    (  '$call_inline'(F)
-   ;  expand_goal(F,G,H),
+   ;  expand_call_goal(F,G,H),
       strip_subst_module(H,G,I,J),
       '$call_with_inference_counting'('$module_call'(I,J))
    ).
@@ -987,7 +1020,7 @@ call('$call'(A),B,C,D,E,F) :-
 call(A,B,C,D,E,F) :-
    '$prepare_call_clause'(G,H,A,B,C,D,E,F),
    (  '$call_inline'(G)
-   ;  expand_goal(G,H,I),
+   ;  expand_call_goal(G,H,I),
       strip_subst_module(I,H,J,K),
       '$call_with_inference_counting'('$module_call'(J,K))
    ).
@@ -1006,7 +1039,7 @@ call('$call'(A),B,C,D,E,F,G) :-
 call(A,B,C,D,E,F,G) :-
    '$prepare_call_clause'(H,I,A,B,C,D,E,F,G),
    (  '$call_inline'(H)
-   ;  expand_goal(H,I,J),
+   ;  expand_call_goal(H,I,J),
       strip_subst_module(J,I,K,L),
       '$call_with_inference_counting'('$module_call'(K,L))
    ).
@@ -1025,7 +1058,7 @@ call('$call'(A),B,C,D,E,F,G,H) :-
 call(A,B,C,D,E,F,G,H) :-
    '$prepare_call_clause'(I,J,A,B,C,D,E,F,G,H),
    (  '$call_inline'(I)
-   ;  expand_goal(I,J,K),
+   ;  expand_call_goal(I,J,K),
       strip_subst_module(K,J,L,M),
       '$call_with_inference_counting'('$module_call'(L,M))
    ).
@@ -1044,7 +1077,7 @@ call('$call'(A),B,C,D,E,F,G,H,I) :-
 call(A,B,C,D,E,F,G,H,I) :-
    '$prepare_call_clause'(J,K,A,B,C,D,E,F,G,H,I),
    (  '$call_inline'(J)
-   ;  expand_goal(J,K,L),
+   ;  expand_call_goal(J,K,L),
       strip_subst_module(L,K,M,N),
       '$call_with_inference_counting'('$module_call'(M,N))
    ).
@@ -1063,7 +1096,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J) :-
 call(A,B,C,D,E,F,G,H,I,J) :-
    '$prepare_call_clause'(K,L,A,B,C,D,E,F,G,H,I,J),
    (  '$call_inline'(K)
-   ;  expand_goal(K,L,M),
+   ;  expand_call_goal(K,L,M),
       strip_subst_module(M,L,N,O),
       '$call_with_inference_counting'('$module_call'(N,O))
    ).
@@ -1082,7 +1115,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K) :-
 call(A,B,C,D,E,F,G,H,I,J,K) :-
    '$prepare_call_clause'(L,M,A,B,C,D,E,F,G,H,I,J,K),
    (  '$call_inline'(L)
-   ;  expand_goal(L,M,N),
+   ;  expand_call_goal(L,M,N),
       strip_subst_module(N,M,O,P),
       '$call_with_inference_counting'('$module_call'(O,P))
    ).
@@ -1101,7 +1134,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L) :-
 call(A,B,C,D,E,F,G,H,I,J,K,L) :-
    '$prepare_call_clause'(M,N,A,B,C,D,E,F,G,H,I,J,K,L),
    (  '$call_inline'(M)
-   ;  expand_goal(M,N,O),
+   ;  expand_call_goal(M,N,O),
       strip_subst_module(O,N,P,Q),
       '$call_with_inference_counting'('$module_call'(P,Q))
    ).
@@ -1120,7 +1153,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M) :-
 call(A,B,C,D,E,F,G,H,I,J,K,L,M) :-
    '$prepare_call_clause'(N,O,A,B,C,D,E,F,G,H,I,J,K,L,M),
    (  '$call_inline'(N)
-   ;  expand_goal(N,O,P),
+   ;  expand_call_goal(N,O,P),
       strip_subst_module(P,O,Q,R),
       '$call_with_inference_counting'('$module_call'(Q,R))
    ).
@@ -1139,7 +1172,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N) :-
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N) :-
    '$prepare_call_clause'(O,P,A,B,C,D,E,F,G,H,I,J,K,L,M,N),
    (  '$call_inline'(O)
-   ;  expand_goal(O,P,Q),
+   ;  expand_call_goal(O,P,Q),
       strip_subst_module(Q,P,R,S),
       '$call_with_inference_counting'('$module_call'(R,S))
    ).
@@ -1158,7 +1191,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O) :-
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O) :-
    '$prepare_call_clause'(P,Q,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O),
    (  '$call_inline'(P)
-   ;  expand_goal(P,Q,R),
+   ;  expand_call_goal(P,Q,R),
       strip_subst_module(R,Q,S,T),
       '$call_with_inference_counting'('$module_call'(S,T))
    ).
@@ -1177,7 +1210,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P) :-
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P) :-
    '$prepare_call_clause'(Q,R,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P),
    (  '$call_inline'(Q)
-   ;  expand_goal(Q,R,S),
+   ;  expand_call_goal(Q,R,S),
       strip_subst_module(S,R,T,U),
       '$call_with_inference_counting'('$module_call'(T,U))
    ).
@@ -1196,7 +1229,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q) :-
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q) :-
    '$prepare_call_clause'(R,S,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q),
    (  '$call_inline'(R)
-   ;  expand_goal(R,S,T),
+   ;  expand_call_goal(R,S,T),
       strip_subst_module(T,S,U,V),
       '$call_with_inference_counting'('$module_call'(U,V))
    ).
@@ -1215,7 +1248,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R) :-
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R) :-
    '$prepare_call_clause'(S,T,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R),
    (  '$call_inline'(S)
-   ;  expand_goal(S,T,U),
+   ;  expand_call_goal(S,T,U),
       strip_subst_module(U,T,V,W),
       '$call_with_inference_counting'('$module_call'(V,W))
    ).
@@ -1234,7 +1267,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S) :-
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S) :-
    '$prepare_call_clause'(T,U,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S),
    (  '$call_inline'(T)
-   ;  expand_goal(T,U,V),
+   ;  expand_call_goal(T,U,V),
       strip_subst_module(V,U,W,X),
       '$call_with_inference_counting'('$module_call'(W,X))
    ).
@@ -1253,7 +1286,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T) :-
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T) :-
    '$prepare_call_clause'(U,V,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T),
    (  '$call_inline'(U)
-   ;  expand_goal(U,V,W),
+   ;  expand_call_goal(U,V,W),
       strip_subst_module(W,V,X,Y),
       '$call_with_inference_counting'('$module_call'(X,Y))
    ).
@@ -1272,7 +1305,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U) :-
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U) :-
    '$prepare_call_clause'(V,W,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U),
    (  '$call_inline'(V)
-   ;  expand_goal(V,W,X),
+   ;  expand_call_goal(V,W,X),
       strip_subst_module(X,W,Y,Z),
       '$call_with_inference_counting'('$module_call'(Y,Z))
    ).
@@ -1291,7 +1324,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V) :-
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V) :-
    '$prepare_call_clause'(W,X,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V),
    (  '$call_inline'(W)
-   ;  expand_goal(W,X,Y),
+   ;  expand_call_goal(W,X,Y),
       strip_subst_module(Y,X,Z,A1),
       '$call_with_inference_counting'('$module_call'(Z,A1))
    ).
@@ -1310,7 +1343,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W) :-
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W) :-
    '$prepare_call_clause'(X,Y,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W),
    (  '$call_inline'(X)
-   ;  expand_goal(X,Y,Z),
+   ;  expand_call_goal(X,Y,Z),
       strip_subst_module(Z,Y,A1,B1),
       '$call_with_inference_counting'('$module_call'(A1,B1))
    ).
@@ -1329,7 +1362,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X) :-
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X) :-
    '$prepare_call_clause'(Y,Z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X),
    (  '$call_inline'(Y)
-   ;  expand_goal(Y,Z,A1),
+   ;  expand_call_goal(Y,Z,A1),
       strip_subst_module(A1,Z,B1,C1),
       '$call_with_inference_counting'('$module_call'(B1,C1))
    ).
@@ -1348,7 +1381,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y) :-
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y) :-
    '$prepare_call_clause'(Z,A1,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y),
    (  '$call_inline'(Z)
-   ;  expand_goal(Z,A1,B1),
+   ;  expand_call_goal(Z,A1,B1),
       strip_subst_module(B1,A1,C1,D1),
       '$call_with_inference_counting'('$module_call'(C1,D1))
    ).
@@ -1367,7 +1400,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z) :-
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z) :-
    '$prepare_call_clause'(A1,B1,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z),
    (  '$call_inline'(A1)
-   ;  expand_goal(A1,B1,C1),
+   ;  expand_call_goal(A1,B1,C1),
       strip_subst_module(C1,B1,D1,E1),
       '$call_with_inference_counting'('$module_call'(D1,E1))
    ).
@@ -1386,7 +1419,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1) :-
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1) :-
    '$prepare_call_clause'(B1,C1,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1),
    (  '$call_inline'(B1)
-   ;  expand_goal(B1,C1,D1),
+   ;  expand_call_goal(B1,C1,D1),
       strip_subst_module(D1,C1,E1,F1),
       '$call_with_inference_counting'('$module_call'(E1,F1))
    ).
@@ -1405,7 +1438,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1) :-
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1) :-
    '$prepare_call_clause'(C1,D1,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1),
    (  '$call_inline'(C1)
-   ;  expand_goal(C1,D1,E1),
+   ;  expand_call_goal(C1,D1,E1),
       strip_subst_module(E1,D1,F1,G1),
       '$call_with_inference_counting'('$module_call'(F1,G1))
    ).
@@ -1424,7 +1457,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1) :-
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1) :-
    '$prepare_call_clause'(D1,E1,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1),
    (  '$call_inline'(D1)
-   ;  expand_goal(D1,E1,F1),
+   ;  expand_call_goal(D1,E1,F1),
       strip_subst_module(F1,E1,G1,H1),
       '$call_with_inference_counting'('$module_call'(G1,H1))
    ).
@@ -1443,7 +1476,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1) :
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1) :-
    '$prepare_call_clause'(E1,F1,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1),
    (  '$call_inline'(E1)
-   ;  expand_goal(E1,F1,G1),
+   ;  expand_call_goal(E1,F1,G1),
       strip_subst_module(G1,F1,H1,I1),
       '$call_with_inference_counting'('$module_call'(H1,I1))
    ).
@@ -1462,7 +1495,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1) :-
    '$prepare_call_clause'(F1,G1,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1),
    (  '$call_inline'(F1)
-   ;  expand_goal(F1,G1,H1),
+   ;  expand_call_goal(F1,G1,H1),
       strip_subst_module(H1,G1,I1,J1),
       '$call_with_inference_counting'('$module_call'(I1,J1))
    ).
@@ -1481,7 +1514,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1) :-
    '$prepare_call_clause'(G1,H1,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1),
    (  '$call_inline'(G1)
-   ;  expand_goal(G1,H1,I1),
+   ;  expand_call_goal(G1,H1,I1),
       strip_subst_module(I1,H1,J1,K1),
       '$call_with_inference_counting'('$module_call'(J1,K1))
    ).
@@ -1500,7 +1533,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1) :-
    '$prepare_call_clause'(H1,I1,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1),
    (  '$call_inline'(H1)
-   ;  expand_goal(H1,I1,J1),
+   ;  expand_call_goal(H1,I1,J1),
       strip_subst_module(J1,I1,K1,L1),
       '$call_with_inference_counting'('$module_call'(K1,L1))
    ).
@@ -1519,7 +1552,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1) :-
    '$prepare_call_clause'(I1,J1,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1),
    (  '$call_inline'(I1)
-   ;  expand_goal(I1,J1,K1),
+   ;  expand_call_goal(I1,J1,K1),
       strip_subst_module(K1,J1,L1,M1),
       '$call_with_inference_counting'('$module_call'(L1,M1))
    ).
@@ -1538,7 +1571,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1) :-
    '$prepare_call_clause'(J1,K1,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1),
    (  '$call_inline'(J1)
-   ;  expand_goal(J1,K1,L1),
+   ;  expand_call_goal(J1,K1,L1),
       strip_subst_module(L1,K1,M1,N1),
       '$call_with_inference_counting'('$module_call'(M1,N1))
    ).
@@ -1557,7 +1590,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1) :-
    '$prepare_call_clause'(K1,L1,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1),
    (  '$call_inline'(K1)
-   ;  expand_goal(K1,L1,M1),
+   ;  expand_call_goal(K1,L1,M1),
       strip_subst_module(M1,L1,N1,O1),
       '$call_with_inference_counting'('$module_call'(N1,O1))
    ).
@@ -1576,7 +1609,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1) :-
    '$prepare_call_clause'(L1,M1,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1),
    (  '$call_inline'(L1)
-   ;  expand_goal(L1,M1,N1),
+   ;  expand_call_goal(L1,M1,N1),
       strip_subst_module(N1,M1,O1,P1),
       '$call_with_inference_counting'('$module_call'(O1,P1))
    ).
@@ -1595,7 +1628,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1) :-
    '$prepare_call_clause'(M1,N1,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1),
    (  '$call_inline'(M1)
-   ;  expand_goal(M1,N1,O1),
+   ;  expand_call_goal(M1,N1,O1),
       strip_subst_module(O1,N1,P1,Q1),
       '$call_with_inference_counting'('$module_call'(P1,Q1))
    ).
@@ -1614,7 +1647,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1) :-
    '$prepare_call_clause'(N1,O1,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1),
    (  '$call_inline'(N1)
-   ;  expand_goal(N1,O1,P1),
+   ;  expand_call_goal(N1,O1,P1),
       strip_subst_module(P1,O1,Q1,R1),
       '$call_with_inference_counting'('$module_call'(Q1,R1))
    ).
@@ -1633,7 +1666,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1) :-
    '$prepare_call_clause'(O1,P1,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1),
    (  '$call_inline'(O1)
-   ;  expand_goal(O1,P1,Q1),
+   ;  expand_call_goal(O1,P1,Q1),
       strip_subst_module(Q1,P1,R1,S1),
       '$call_with_inference_counting'('$module_call'(R1,S1))
    ).
@@ -1652,7 +1685,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1) :-
    '$prepare_call_clause'(P1,Q1,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1),
    (  '$call_inline'(P1)
-   ;  expand_goal(P1,Q1,R1),
+   ;  expand_call_goal(P1,Q1,R1),
       strip_subst_module(R1,Q1,S1,T1),
       '$call_with_inference_counting'('$module_call'(S1,T1))
    ).
@@ -1671,7 +1704,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1) :-
    '$prepare_call_clause'(Q1,R1,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1),
    (  '$call_inline'(Q1)
-   ;  expand_goal(Q1,R1,S1),
+   ;  expand_call_goal(Q1,R1,S1),
       strip_subst_module(S1,R1,T1,U1),
       '$call_with_inference_counting'('$module_call'(T1,U1))
    ).
@@ -1690,7 +1723,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1) :-
    '$prepare_call_clause'(R1,S1,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1),
    (  '$call_inline'(R1)
-   ;  expand_goal(R1,S1,T1),
+   ;  expand_call_goal(R1,S1,T1),
       strip_subst_module(T1,S1,U1,V1),
       '$call_with_inference_counting'('$module_call'(U1,V1))
    ).
@@ -1709,7 +1742,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1) :-
    '$prepare_call_clause'(S1,T1,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1),
    (  '$call_inline'(S1)
-   ;  expand_goal(S1,T1,U1),
+   ;  expand_call_goal(S1,T1,U1),
       strip_subst_module(U1,T1,V1,W1),
       '$call_with_inference_counting'('$module_call'(V1,W1))
    ).
@@ -1728,7 +1761,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1) :-
    '$prepare_call_clause'(T1,U1,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1),
    (  '$call_inline'(T1)
-   ;  expand_goal(T1,U1,V1),
+   ;  expand_call_goal(T1,U1,V1),
       strip_subst_module(V1,U1,W1,X1),
       '$call_with_inference_counting'('$module_call'(W1,X1))
    ).
@@ -1747,7 +1780,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1) :-
    '$prepare_call_clause'(U1,V1,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1),
    (  '$call_inline'(U1)
-   ;  expand_goal(U1,V1,W1),
+   ;  expand_call_goal(U1,V1,W1),
       strip_subst_module(W1,V1,X1,Y1),
       '$call_with_inference_counting'('$module_call'(X1,Y1))
    ).
@@ -1766,7 +1799,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1) :-
    '$prepare_call_clause'(V1,W1,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1),
    (  '$call_inline'(V1)
-   ;  expand_goal(V1,W1,X1),
+   ;  expand_call_goal(V1,W1,X1),
       strip_subst_module(X1,W1,Y1,Z1),
       '$call_with_inference_counting'('$module_call'(Y1,Z1))
    ).
@@ -1785,7 +1818,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1) :-
    '$prepare_call_clause'(W1,X1,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1),
    (  '$call_inline'(W1)
-   ;  expand_goal(W1,X1,Y1),
+   ;  expand_call_goal(W1,X1,Y1),
       strip_subst_module(Y1,X1,Z1,A2),
       '$call_with_inference_counting'('$module_call'(Z1,A2))
    ).
@@ -1804,7 +1837,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1) :-
    '$prepare_call_clause'(X1,Y1,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1),
    (  '$call_inline'(X1)
-   ;  expand_goal(X1,Y1,Z1),
+   ;  expand_call_goal(X1,Y1,Z1),
       strip_subst_module(Z1,Y1,A2,B2),
       '$call_with_inference_counting'('$module_call'(A2,B2))
    ).
@@ -1823,7 +1856,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1) :-
    '$prepare_call_clause'(Y1,Z1,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1),
    (  '$call_inline'(Y1)
-   ;  expand_goal(Y1,Z1,A2),
+   ;  expand_call_goal(Y1,Z1,A2),
       strip_subst_module(A2,Z1,B2,C2),
       '$call_with_inference_counting'('$module_call'(B2,C2))
    ).
@@ -1842,7 +1875,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1) :-
    '$prepare_call_clause'(Z1,A2,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1),
    (  '$call_inline'(Z1)
-   ;  expand_goal(Z1,A2,B2),
+   ;  expand_call_goal(Z1,A2,B2),
       strip_subst_module(B2,A2,C2,D2),
       '$call_with_inference_counting'('$module_call'(C2,D2))
    ).
@@ -1861,7 +1894,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1) :-
    '$prepare_call_clause'(A2,B2,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1),
    (  '$call_inline'(A2)
-   ;  expand_goal(A2,B2,C2),
+   ;  expand_call_goal(A2,B2,C2),
       strip_subst_module(C2,B2,D2,E2),
       '$call_with_inference_counting'('$module_call'(D2,E2))
    ).
@@ -1880,7 +1913,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2) :-
    '$prepare_call_clause'(B2,C2,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2),
    (  '$call_inline'(B2)
-   ;  expand_goal(B2,C2,D2),
+   ;  expand_call_goal(B2,C2,D2),
       strip_subst_module(D2,C2,E2,F2),
       '$call_with_inference_counting'('$module_call'(E2,F2))
    ).
@@ -1899,7 +1932,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2,B2) :-
    '$prepare_call_clause'(C2,D2,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2,B2),
    (  '$call_inline'(C2)
-   ;  expand_goal(C2,D2,E2),
+   ;  expand_call_goal(C2,D2,E2),
       strip_subst_module(E2,D2,F2,G2),
       '$call_with_inference_counting'('$module_call'(F2,G2))
    ).
@@ -1918,7 +1951,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2,B2,C2) :-
    '$prepare_call_clause'(D2,E2,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2,B2,C2),
    (  '$call_inline'(D2)
-   ;  expand_goal(D2,E2,F2),
+   ;  expand_call_goal(D2,E2,F2),
       strip_subst_module(F2,E2,G2,H2),
       '$call_with_inference_counting'('$module_call'(G2,H2))
    ).
@@ -1937,7 +1970,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2,B2,C2,D2) :-
    '$prepare_call_clause'(E2,F2,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2,B2,C2,D2),
    (  '$call_inline'(E2)
-   ;  expand_goal(E2,F2,G2),
+   ;  expand_call_goal(E2,F2,G2),
       strip_subst_module(G2,F2,H2,I2),
       '$call_with_inference_counting'('$module_call'(H2,I2))
    ).
@@ -1956,7 +1989,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2,B2,C2,D2,E2) :-
    '$prepare_call_clause'(F2,G2,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2,B2,C2,D2,E2),
    (  '$call_inline'(F2)
-   ;  expand_goal(F2,G2,H2),
+   ;  expand_call_goal(F2,G2,H2),
       strip_subst_module(H2,G2,I2,J2),
       '$call_with_inference_counting'('$module_call'(I2,J2))
    ).
@@ -1975,7 +2008,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2,B2,C2,D2,E2,F2) :-
    '$prepare_call_clause'(G2,H2,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2,B2,C2,D2,E2,F2),
    (  '$call_inline'(G2)
-   ;  expand_goal(G2,H2,I2),
+   ;  expand_call_goal(G2,H2,I2),
       strip_subst_module(I2,H2,J2,K2),
       '$call_with_inference_counting'('$module_call'(J2,K2))
    ).
@@ -1994,7 +2027,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2,B2,C2,D2,E2,F2,G2) :-
    '$prepare_call_clause'(H2,I2,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2,B2,C2,D2,E2,F2,G2),
    (  '$call_inline'(H2)
-   ;  expand_goal(H2,I2,J2),
+   ;  expand_call_goal(H2,I2,J2),
       strip_subst_module(J2,I2,K2,L2),
       '$call_with_inference_counting'('$module_call'(K2,L2))
    ).
@@ -2013,7 +2046,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2,B2,C2,D2,E2,F2,G2,H2) :-
    '$prepare_call_clause'(I2,J2,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2,B2,C2,D2,E2,F2,G2,H2),
    (  '$call_inline'(I2)
-   ;  expand_goal(I2,J2,K2),
+   ;  expand_call_goal(I2,J2,K2),
       strip_subst_module(K2,J2,L2,M2),
       '$call_with_inference_counting'('$module_call'(L2,M2))
    ).
@@ -2032,7 +2065,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2,B2,C2,D2,E2,F2,G2,H2,I2) :-
    '$prepare_call_clause'(J2,K2,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2,B2,C2,D2,E2,F2,G2,H2,I2),
    (  '$call_inline'(J2)
-   ;  expand_goal(J2,K2,L2),
+   ;  expand_call_goal(J2,K2,L2),
       strip_subst_module(L2,K2,M2,N2),
       '$call_with_inference_counting'('$module_call'(M2,N2))
    ).
@@ -2051,7 +2084,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2,B2,C2,D2,E2,F2,G2,H2,I2,J2) :-
    '$prepare_call_clause'(K2,L2,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2,B2,C2,D2,E2,F2,G2,H2,I2,J2),
    (  '$call_inline'(K2)
-   ;  expand_goal(K2,L2,M2),
+   ;  expand_call_goal(K2,L2,M2),
       strip_subst_module(M2,L2,N2,O2),
       '$call_with_inference_counting'('$module_call'(N2,O2))
    ).
@@ -2070,7 +2103,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2,B2,C2,D2,E2,F2,G2,H2,I2,J2,K2) :-
    '$prepare_call_clause'(L2,M2,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2,B2,C2,D2,E2,F2,G2,H2,I2,J2,K2),
    (  '$call_inline'(L2)
-   ;  expand_goal(L2,M2,N2),
+   ;  expand_call_goal(L2,M2,N2),
       strip_subst_module(N2,M2,O2,P2),
       '$call_with_inference_counting'('$module_call'(O2,P2))
    ).
@@ -2089,7 +2122,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2,B2,C2,D2,E2,F2,G2,H2,I2,J2,K2,L2) :-
    '$prepare_call_clause'(M2,N2,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2,B2,C2,D2,E2,F2,G2,H2,I2,J2,K2,L2),
    (  '$call_inline'(M2)
-   ;  expand_goal(M2,N2,O2),
+   ;  expand_call_goal(M2,N2,O2),
       strip_subst_module(O2,N2,P2,Q2),
       '$call_with_inference_counting'('$module_call'(P2,Q2))
    ).
@@ -2108,7 +2141,7 @@ call('$call'(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1
 call(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2,B2,C2,D2,E2,F2,G2,H2,I2,J2,K2,L2,M2) :-
    '$prepare_call_clause'(N2,O2,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,A2,B2,C2,D2,E2,F2,G2,H2,I2,J2,K2,L2,M2),
    (  '$call_inline'(N2)
-   ;  expand_goal(N2,O2,P2),
+   ;  expand_call_goal(N2,O2,P2),
       strip_subst_module(P2,O2,Q2,R2),
       '$call_with_inference_counting'('$module_call'(Q2,R2))
    ).