On Jan 28, 2006, at 20:51, Alex Polite wrote:

> OK. Here's my second stupid question for today.
>
> What's the rational behind having 0, [] and "" evaluate to true? ""
> and [], I could kind of see. But 0, how on Gods earth can 0 true?

0 *the integer* is only false by convention, and it's a convention  
confined to programming, originating (unless I'm mistaken) from  
languages which didn't define specific 'true' and 'false' logcial  
values separate from integer math.  0's used in some logical  
notations as a symbol for 'false', but it's unlikely that anyone  
familiar with formal logic will tell you those 0's are the same 0's  
you get from "2 - 2".

There's no doubt that the convention's been made very useful, but  
there's really no logical basis for equating any particular symbol to  
true or false truth values over any other.

matthew smillie.