fix goal_expansion
This commit is contained in:
parent
1b5038cc9e
commit
0546df7ac3
@ -297,7 +297,8 @@ module(N) :-
|
|||||||
'$module_expansion'(M:G,G1,GO,_,CM,_,HVars) :- !,
|
'$module_expansion'(M:G,G1,GO,_,CM,_,HVars) :- !,
|
||||||
'$module_expansion'(G,G1,GO,M,M,HM,HVars).
|
'$module_expansion'(G,G1,GO,M,M,HM,HVars).
|
||||||
'$module_expansion'(G, G1, GO, CurMod, MM, HM, HVars) :-
|
'$module_expansion'(G, G1, GO, CurMod, MM, HM, HVars) :-
|
||||||
'$do_expand'(CurMod:G, CurMod:GI), !,
|
'$pred_goal_expansion_on',
|
||||||
|
'$do_expand'(G, CurMod, GI), !,
|
||||||
'$module_expansion'(GI, G1, GO, CurMod, MM, HM, HVars).
|
'$module_expansion'(GI, G1, GO, CurMod, MM, HM, HVars).
|
||||||
'$module_expansion'(G, G1, GO, CurMod, MM, HM,HVars) :-
|
'$module_expansion'(G, G1, GO, CurMod, MM, HM,HVars) :-
|
||||||
% is this imported from some other module M1?
|
% is this imported from some other module M1?
|
||||||
@ -310,24 +311,25 @@ module(N) :-
|
|||||||
'$module_expansion'(G, G1, GO, CurMod, MM, HM, HVars) :-
|
'$module_expansion'(G, G1, GO, CurMod, MM, HM, HVars) :-
|
||||||
'$complete_goal_expansion'(G, CurMod, MM, HM, G1, GO, HVars).
|
'$complete_goal_expansion'(G, CurMod, MM, HM, G1, GO, HVars).
|
||||||
|
|
||||||
|
expand_goal(G, G) :-
|
||||||
|
var(G), !.
|
||||||
|
expand_goal(M:G, M:NG) :-
|
||||||
|
'$do_expand'(G, M, NG), !.
|
||||||
expand_goal(G, NG) :-
|
expand_goal(G, NG) :-
|
||||||
'$current_module'(Mod),
|
'$current_module'(Mod),
|
||||||
'$do_expand'(G, M, NG), !.
|
'$do_expand'(G, M, NG), !.
|
||||||
expand_goal(M:G, M:NG) :-
|
|
||||||
'$do_expand'(G, M, NG), !.
|
|
||||||
expand_goal(G, G).
|
expand_goal(G, G).
|
||||||
|
|
||||||
'$do_expand'(G, CurMod, NG) :-
|
'$do_expand'(G, CurMod, GI) :-
|
||||||
'$pred_goal_expansion_on',
|
(
|
||||||
( user:goal_expansion(G, CurMod, GI)
|
'$pred_exists'(goal_expansion(G,GI), CurMod),
|
||||||
|
call(CurMod:goal_expansion(G, GI))
|
||||||
->
|
->
|
||||||
true
|
true
|
||||||
;
|
;
|
||||||
(
|
user:goal_expansion(G, CurMod, GI)
|
||||||
'$pred_exists'(goal_expansion(G,GI), CurMod)
|
|
||||||
->
|
->
|
||||||
call(CurMod:goal_expansion(G, GI))
|
true
|
||||||
)
|
|
||||||
;
|
;
|
||||||
user:goal_expansion(G, GI)
|
user:goal_expansion(G, GI)
|
||||||
).
|
).
|
||||||
|
Reference in New Issue
Block a user