Home Contents Index Summary Previous Next

3.30 Invoking Predicates on all Members of a List

All the predicates in this section call a predicate on all members of a list or until the predicate called fails. The predicate is called via call/[2..], which implies common arguments can be put in front of the arguments obtained from the list(s). For example:


?- maplist(plus(1), [0, 1, 2], X).

X = [1, 2, 3]

we will phrase this as ``Predicate is applied on ... ''

checklist(+Pred, +List)
Pred is applied successively on each element of List until the end of the list or Pred fails. In the latter case the checklist/2 fails.

maplist(+Pred, ?List1, ?List2)
Apply Pred on all successive pairs of elements from List1 and List2. Fails if Pred can not be applied to a pair. See the example above.

sublist(+Pred, +List1, ?List2)
Unify List2 with a list of all elements of List1 to which Pred applies.