On Thu, Apr 7, 2016 at 10:39 AM, Michael Selik <mike@selik.org> wrote:
On Apr 7, 2016, at 6:23 PM, Guido van Rossum <guido@python.org> wrote: Nothing else is on the table. Seriously. Stop hijacking the thread.
To clarify, the proposal is: ``~True == False`` but every other operation on ``True`` remains the same, including ``True * 42 == 42``. Correct?
Yes. To be more precise, there are some "arithmetic" operations (+, -, *, /, **) and they all treat bools as ints and always return ints; there are also some "bitwise" operations (&, |, ^, ~) and they should all treat bools as bools and return a bool. Currently the only exception to this idea is that ~ returns an int, so the proposal is to fix that. (There are also some "boolean" operations (and, or, not) and they are also unchanged.) -- --Guido van Rossum (python.org/~guido)