fix silly cut in autoload
This commit is contained in:
parent
0021b66807
commit
735f318b77
@ -68,7 +68,6 @@ otherwise.
|
||||
'modules.yap',
|
||||
% must follow grammar
|
||||
'eval.yap',
|
||||
'lists.yap',
|
||||
'signals.yap',
|
||||
'profile.yap',
|
||||
'callcount.yap',
|
||||
|
@ -391,7 +391,7 @@ expand_goal(G, G).
|
||||
call(Dialect:index(Name,Arity,ExportingModI,_)), !,
|
||||
'$continue_imported'(ExportingMod, ExportingModI, G0, G), !.
|
||||
'$get_undefined_pred'(G, _ImportingMod, G0, ExportingMod) :-
|
||||
autoloader:autoload, !,
|
||||
autoloader:autoload,
|
||||
autoloader:find_predicate(G,ExportingModI), !,
|
||||
'$continue_imported'(ExportingMod, ExportingModI, G0, G), !.
|
||||
'$get_undefined_pred'(G, ImportingMod, G0, ExportingMod) :-
|
||||
|
26
pl/utils.yap
26
pl/utils.yap
@ -353,14 +353,40 @@ atomic_list_concat(L,At) :-
|
||||
atomic_concat(L, At).
|
||||
|
||||
atomic_list_concat(L, El, At) :-
|
||||
var(El), !,
|
||||
'$do_error'(instantiation_error,atom_list_concat(L,El,At)).
|
||||
atomic_list_concat(L, El, At) :-
|
||||
nonvar(L), !,
|
||||
'$add_els'(L,El,LEl),
|
||||
atomic_concat(LEl, At).
|
||||
atomic_list_concat(L, El, At) :-
|
||||
nonvar(At), !,
|
||||
atom_codes(At, S),
|
||||
atom_codes(El, [ElS]),
|
||||
'$split_elements'(S, ElS, SubS),
|
||||
'$atomify_list'(SubS, L).
|
||||
|
||||
'$add_els'([A,B|L],El,[A,El|NL]) :- !,
|
||||
'$add_els'([B|L],El,NL).
|
||||
'$add_els'(L,_,L).
|
||||
|
||||
'$split_elements'(E.S, E, SubS) :- !,
|
||||
'$split_elements'(S, E, SubS).
|
||||
'$split_elements'(E1.S, E, [E1|L].SubS) :- !,
|
||||
'$split_elements'(S, E, L, SubS).
|
||||
'$split_elements'([], _, []).
|
||||
|
||||
'$split_elements'([], _, [], []).
|
||||
'$split_elements'(E.S, E, [], SubS) :- !,
|
||||
'$split_elements'(S, E, SubS).
|
||||
'$split_elements'(E1.S, E, E1.L, SubS) :-
|
||||
'$split_elements'(S, E, L, SubS).
|
||||
|
||||
'$atomify_list'([], []).
|
||||
'$atomify_list'(S.SubS, A.L) :-
|
||||
atom_codes(A, S),
|
||||
'$atomify_list'(SubS, L).
|
||||
|
||||
atomic_concat(X,Y,At) :-
|
||||
(
|
||||
nonvar(X), nonvar(Y)
|
||||
|
Reference in New Issue
Block a user