Я хотел бы знать, как сделать предикат, который ставит все результаты, полученные из некоторого запроса (поэтому я получаю результат и нажимаю точку с запятой, пока не получаю False) в списке.
Например, если я пишу foo(X,[1,2,3]).
в каком-нибудь прослушивателе Prolog, скажем, что результат
X=[11];
X=[22];
False.
Я хотел бы получить все эти результаты в списке, поэтому произойдет что-то вроде следующего.
?-another_foo(X,[1,2,3]).
X=[[11],[22]].
another_foo каким-то образом будет использовать foo для создания списка со всеми результатами из foo. Я просто не знаю, как.