[ ECLiPSe Lists Library predicate.|Group Index| Full 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).
The following should be noted:

1. This predicate does not perform any type testing functions.

2. This predicate is not protected by ECLiPSe and may be redefined without generating a warning message.

Fail Conditions

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

Resatisfiable

No.

Exceptions

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