Considering bools as ints -- Pros: The ALU of any computer uses boolean gates to build an arithmetic functions. Therefore considering the base type of ints and bools to be (strings of) bits seems natural
Cons: This comes from the pioneering work of Dijkstra and his coworkers) The distributive law (one of them) in boolean algebra looks like this: a /\ (b \/ c) = (a/\b) \/ (a/\c) which becomes simpler to read and type and more familiar as a(b+c) = ab + ac So far so good. However its dual is a\/(b/\c) = (a\/b) /\ (a\/c) which in arithmetic notation becomes a + bc = (a+b)(a+c) This is sufficiently unintuitive and unnatural that even people familiar with boolean algebra dot get it (so Dijkstra, Gries etc claim) Boolean algebra is perfectly dual, arithmetic is not. That is why we need logical connectives 'and' and 'or' and dont somehow fudge along with + and *. Therefore True and False should belong with 'and', 'or' and 0,1 should belong with +,* -- http://mail.python.org/mailman/listinfo/python-list