From 4e6c138099339627cd75fe6a8328117d23535196 Mon Sep 17 00:00:00 2001 From: Mark Thom Date: Sun, 14 Aug 2022 13:18:34 -0600 Subject: [PATCH] introduce expand_call_goal/3 to expand goals in control meta-predicates (#1568) --- src/lib/dcgs.pl | 2 +- src/loader.pl | 169 +++++++++++++++++++++++++++++------------------- 2 files changed, 102 insertions(+), 69 deletions(-) diff --git a/src/lib/dcgs.pl b/src/lib/dcgs.pl index 13be7ace..54160cf6 100644 --- a/src/lib/dcgs.pl +++ b/src/lib/dcgs.pl @@ -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) ). diff --git a/src/loader.pl b/src/loader.pl index 5bc87697..d276ae30 100644 --- a/src/loader.pl +++ b/src/loader.pl @@ -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)) ). -- 2.54.0