Hacker News new | ask | show | jobs
by pasquinelli 1719 days ago
i don't really see why. if anything is insane, it's interpreting a number as true or false. but if you're doing that anyway, then you pick a number for false, or you pick a number for true. 0 is a natural number to pick for whichever truth value, because it's the base case of the natural numbers.

it's unconventional, but no more insane than 0 = false, which, again, _is_ insane, but conventional.

i'm not bothered either way

1 comments

Using 0 as false and 1 as true has the benefit that + (mod 2) becomes xor and * becomes and.

(or, if instead of mod 2, you use min(1,a + b) to keep things in the set, then + becomes or )

To use 0 as true and 1 as false, you don't get nice things like this. It's not nice.

Well.. I guess * becomes or. But, + (mod 2) becomes, uh, xnor , and (min(1,a+b)) becomes, and...

ok well I guess that's not as bad as I thought.

Still a bad decision imo though.