выполнение операции для каждого элемента списка в swi-prolog и других

Как сделать операцию для каждого элемента списка по порядку?

На основе этих двух ресурсов:

  1. http://www.swi-prolog.org/pldoc/doc/swi/library/lists.pl
  2. http://www.swi-prolog.org/pldoc/doc_for?object=foreach/2

Я представляю, что всегда могу положиться на:

  • foreach(member(X, [1,2]), write(X)).

Является ли это детерминированным и могу ли я обернуть предикат member/2 как угодно в свои собственные предикаты и по-прежнему всегда выполнять итерацию по порядку?

12
задан false 25 January 2014 в 22:07
поделиться