Здравствуйте. Я хочу создать программу на Прологе, в которой в качестве входных данных будет указан список, а результатом будет список, но только с элементами, удовлетворяющими определенному условию. Пример: Вывести все элементы фильтра <6. </p>
([1,6,4,9,13,5,2], X). -> X = [1,4,5,2].
Я пытался сделать это:
filter([],[]).
filter([P|R], X) :-
P < 6,
filter(R, [P|X]).
Почему это не работает? Я знаю, что могу использовать findall, но я хотел бы понять этот «ручной» метод. Спасибо