[prev in list] [next in list] [prev in thread] [next in thread]
List: sqlite-users
Subject: Re: [sqlite] MC/DC coverage explained wrong in the home page?
From: Simon Slavin <slavins () bigfraud ! org>
Date: 2011-09-23 22:56:36
Message-ID: 66BDA4CD-171B-4198-83D2-438F67A95390 () bigfraud ! org
[Download RAW message or body]
On 23 Sep 2011, at 11:30pm, Darren Duncan wrote:
> This is why I think it is valuable for a programming language to provide multiple \
> versions of some operations such as boolean "and","or" where one variant doesn't \
> short-circuit and the other does.
> The primary purpose, then, of short-circuiting operators, is *not* about \
> performance but rather about validity; they would be used in situations where the \
> value of one operand determines whether it is even valid to calculate the other \
> operand, such as if the first operand is a type check and the second is an \
> operation that is only valid for some types.
> In fact, for a computationally complete language that is functional, I would argue \
> that short-circuiting logic operators is essential.
Except that this is going to get rarer as languages arrive which encode \
multi-processing as part of the compilation process. One-by-one evaluation is going \
to vanish. If you have three processors free, why not evaluate three arguments at \
once, even if it turns out that the value of one of them means the other two don't \
matter ? We're going to find applications going down many 'false paths' in the \
process of arriving at a response.
If you want your arguments evaluated, evaluated them yourself. If the order matters, \
evaluate them in that order. Don't rely on it as an undocumented side-effect of \
something else.
Simon.
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic