Greg,
If you do update this PEP, please update the __not__ portion as well,
at least regarding possible return values.
It currently says that __not__ can return NotImplemented, which falls
back to the current semantics. (Why? to override an explicit
__not__? Then why not just put the current semantics on __object__,
and override by calling that directly?)
It does not yet say what will happen for objects that return something
else outside of {True, False}, such as
class AntiBool(object):
def __not__(self): return self
Is that OK, because "not not X" should now be spelled "bool(x)", and
you haven't allowed the overriding of __bool__? (And, if so, how does
that work Py3K?)
-jJ
_______________________________________________
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com