[ library(lists) | The ECLiPSe Libraries | Reference Manual | Alphabetic Index ]

checklist(+Pred, +List)

Succeeds if Pred(Elem) succeeds for every element of List.
+Pred
Atom or compound term.
+List
List.

Description

checklist/3 succeeds if for every element of List, the invocation of Pred with one aditional argument which is this element succeeds.

The definition of this Prolog library predicate is:

:- tool(checklist/3, checklist_body/4).

checklist_body(_, [], _).
checklist_body(Pred, [Head|Tail], M) :-
    Pred =.. PL,
    append(PL, [Head], NewPred),
    Call =.. NewPred,
    call(Call, M),
    checklist_body(Pred, Tail, M).
This predicate does not perform any type testing functions.

Fail Conditions

Fails if at least for one element of List the invocation of Pred with this additional argument fails.

Resatisfiable

No.

Examples

Success:
  checklist(integer, [1, 3, 5]).
  checklist(spy, [var/1, functor/3]).

Fail:
  checklist(current_op(_, _), [+, -, =]).
  (fails because the precedence of = does not match that of +)



See Also

maplist / 3