Я пытался создать функцию, которая принимает список списков и возвращает новый список с элементами исходного, но без глубины.fe:
?- function([a,[b,c],d],X).
X = [a,b,c,d]
?- function([[a],[[b]],[c,[d]]],X).
X = [a,b,c,d]
и я нашел в руководстве следующий код:
function([],[]):- !.
function([H|T],[H|R]):- \+ lst(H), !, function(T,R).
function([H|T],L):- function(H,L1), function(T,L2),
append(L1,L2,T).
К сожалению, нигде не сказано, какая функция lst (H).
Плюс я не могу понять, чтоточно lst () делает и определяет его, и в результате он получается неопределенным.
Если бы кто-нибудь мог понять, как это должно быть определено, или просто дать мне альтернативу о том, как сделать то, что я пытаюсь, я был бы благодарен ..