Issue SOME
Issue: SOME

On this page is only an aligned comparison of both descriptions for the functions EVERY, SOME, NOTEVERY, and NOTANY, the one in the CLHS and the CLtL2 version, for your convenience. The issue itself is only included on the page Proposed ANSI Revisions and Clarifications to avoid a mere copy that is to be maintained separately.

clhs:  every, some, notevery, and notany test elements of sequences for satisfaction of a given predicate.
clhs:  The first argument to predicate is an element of the first sequence; each succeeding argument is an element of a succeeding sequence.

cltl2: These are all predicates. The predicate must take as many arguments as there are sequences provided.

clhs:      Predicate is first applied to the elements with index 0 in each of the sequences, and possibly then to the elements with index 1,
cltl2: The predicate is first applied to the elements with index 0 in each of the sequences, and possibly then to the elements with index 1,
clhs:  and so on, until a termination criterion is met or the end of the shortest of the sequences is reached.
cltl2: and so on, until a termination criterion is met or the end of the shortest of the sequences is reached.

cltl2: If the predicate has side effects, it can count on being called first on all the elements numbered 0, then on all those numbered 1, and so on.

clhs:  every returns false as soon as any invocation of predicate returns false. If the end of a sequence is reached, every returns true.
cltl2: every returns nil   as soon as any invocation of predicate returns nil.   If the end of a sequence is reached, every returns a non-nil value.
clhs:  Thus,                            every returns true if and only if every invocation of predicate returns true.
cltl2: Thus, considered as a predicate, it    is      true             if every invocation of predicate is      true.

clhs:  some returns the first non-nil value which is returned by an invocation of predicate.
cltl2: some returns as soon as any invocation of predicate returns a non-nil value; some returns that value.
clhs:  If the end of a sequence is reached without any invocation of the predicate returning true, some returns false.
cltl2: If the end of a sequence is reached,                                                        some returns nil.
clhs:  Thus,                            some returns true if and only if some invocation of predicate returns true.
cltl2: Thus, considered as a predicate, it   is      true if             some invocation of predicate is      true.

clhs:  notany returns false as soon as any invocation of predicate returns true.            If the end of a sequence is reached, notany returns true.
cltl2: notany returns nil   as soon as any invocation of predicate returns a non-nil value. If the end of a sequence is reached, notany returns a non-nil value.
clhs:  Thus,                            notany returns true if and only if it is not the case that any invocation of predicate returns true.
cltl2: Thus, considered as a predicate, it     is      true if                   no                    invocation of predicate is      true.

clhs:  notevery returns true            as soon as any invocation of predicate returns false. If the end of a sequence is reached, notevery returns false.
cltl2: notevery returns a non-nil value as soon as any invocation of predicate returns nil.   If the end of a sequence is reached, notevery returns nil.
clhs:  Thus,                            notevery returns true if and only if it is not the case that every invocation of predicate returns true.
cltl2: Thus, considered as a predicate, it       is      true if                   not               every invocation of predicate is      true.


This page is presently Uncategorized: please add appropriate topic markers and remove this text