вход:
run([p(X,Y,Z),h(Z,P,Q)],Out).
код:
:- ensure_loaded(library(lists)).
run([X|Y],Out) :-
X =.. [Fct|Args],
X =..Total,
length(Args,L),
concat(abs_,L,Fct_A),
Out =.. [Fct_A|Total].
на swi пролог я получаю правильный ответ:
A = abs_3(p, X, Y, Z).
на прологе трепло. Видно, что я должен использовать трепло.
что я должен использовать вместо concat(abs_,L,Fct_A)
? я попробовал atom_codes, но он добавляет странный ascii на конце атома пожалуйста, помогите.