[Python-3000] Need help completing ABC pep
Nick Coghlan
ncoghlan at gmail.com
Fri Apr 20 11:59:45 CEST 2007
Guido van Rossum wrote:
> I've started a PEP on Abstract Base Classes (ABCs), PEP 3119:
>
> http://www.python.org/dev/peps/pep-3119/
>
> While I'm not ready yet to answer tough questions about this compared
> to alternative proposals, I *am* ready for feedback on the various
> open issues sprinkled throughout the current text, especially
> concerning decisions regarding exactly which operations to include in
> the various ABCs, and also regarding the level of detail required in
> the PEP.
>
It's not listed as an open issue, but when looking at the list of ABCs,
I noticed a potential solution to a different problem we have
occasionally wrestled with: the unfortunate side-effects of having a
default __hash__ method defined on object.
If the details of collections.Hashable.__hash__ are declared to be
implementation dependent rather than having it always return 0, then we
can get rid of object.__hash__.
For CPython, collections.Hashable.__hash__ would then just invoke id()
on the object, and other implementations can also do whatever they
currently do for object.__hash__
Cheers,
Nick.
--
Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia
---------------------------------------------------------------
http://www.boredomandlaziness.org
More information about the Python-3000
mailing list