У меня есть предикат m(L,L)
, и я хочу, чтобы он возвратил список, который ему нужен.
Код такой:
m([],[]).
m([H|T],[H|L]) :- m(T,L).
Когда я пытаюсь использовать его с этим примером:
m([1,2,3,4,5,6,7,8,9,10],L)
Я получаю это как ответ:
L = [1, 2, 3, 4, 5, 6, 7, 8, 9|...].
(Я заметил, что если я попробую это с меньшим количеством элементов, это нормально.) Почему это происходит, и список не завершен?
Как мне избежать этого?
Извините, если это действительно глупый вопрос, но я искал в Интернете и не смог найти никакой документации, которая могла бы помочь мне понять ...
Спасибо!