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 Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com