[Python-3000] callable() (original) (raw)
Guido van Rossum guido at python.org
Wed Jul 26 05:23:54 CEST 2006
- Previous message: [Python-3000] callable()
- Next message: [Python-3000] callable()
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Ouch, that's a problem indeed. There's not really a clean way out unfortunately: either we remove object.hash and let hash() do the default implementation, and then presence of hash is no longer an indicator of hashability; or we keep it, and override it to raise an exception in unhashable types (like list.hash does); or we remove the hashability of objects by default, which lets us solve the above problems at the cost of having a convenient hash by default.
Personally, I'm not sure this problem needs solving; I don't recall ever needing to know whether something is hashable. So perhaps it's of purely theoretical importance? That would suit me fine given the above dilemma...
--Guido
On 7/23/06, Greg Ewing <greg.ewing at canterbury.ac.nz> wrote:
Guido van Rossum wrote: > I propose to take the same approach as for callable: if it has > hash we consider it hashable even though the hash may fail
Fair enough, although since object has hash we end up concluding that everything is hashable except when it isn't. :-) -- Greg
-- --Guido van Rossum (home page: http://www.python.org/~guido/)
- Previous message: [Python-3000] callable()
- Next message: [Python-3000] callable()
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]