[ 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