At 12:20 AM -0800 11/18/98, Ned Freed wrote:
I'm sorry, but if short circuit evaluation is useful then it should be a
requirement, and if not it should not even be an extension. I don't buy the
argument that this is problematic because some languages don't support
short-circuit evaluation. Just because you don't have short-circuit in some
language doesn't mean that you cannot write a sieve interpreter in that
language that does have short circuit characteristics. The two are largely
unrelated unless you're using a direct translation approach, in which case
other constraints are likely to be a lot more onerous.
True. I withdraw my concern regarding mandatory short circuit
evaluation. (After reading Ned's message I realized that my own
implementation would still support short-circuit evaluations even if
the underlying language didn't.)
How about something like:
ANYOF evaluation MUST stop as soon as one element evaluates to TRUE.
That is, Sieve implementations are REQUIRED to support short-circuit
evaluations.
(With the same for ALLOF, except TRUE replaced by FALSE.)