\DOC all \TYPE {all : ('a -> bool) -> 'a list -> bool} \SYNOPSIS Tests whether a predicate holds throughout a list. \DESCRIBE {all P [x1,...,xn]} equals {P x1 andalso .... andalso P xn}. {all P []} yields {true}. \FAILURE If {P x0,...,P x(j-1)} all evaluate to {true} and {P xj} raises an exception {e}, then {all P [x0,...,x(j-1),xj,...,xn]} raises {e}. \EXAMPLE { - all (equal 3) [3,3,3]; > val it = true : bool - all (equal 3) []; > val it = true : bool - all (fn _ => raise Fail "") []; > val it = true : bool - all (fn _ => raise Fail "") [1]; ! Uncaught exception: ! Fail "" } \SEEALSO Lib.all2, Lib.exists, Lib.first. \ENDDOC