Raymond Hettinger <raymond.hettin...@gmail.com> added the comment:

I recommend leaving the text as is, and possibly creating a new FAQ entry 
discussing the relationship between immutability and hashability (something 
that I consider to be an intermediate or advanced topic).

Other thought:

* The set discussion should remain parallel that for mappings (a few 
paragraphs) after.  That text also discusses immutability

* We've never had a user incident regarding this text, so there is no actual 
evidence that this current wording is confusing anyone.

* It is common for users to equate hashability with immutability, so I think 
the current wording is reasonable.  My experience with users indicate that 
"hashable" is more cryptic than "immutable" because the former implies a 
knowledge of how hash tables work.

* It's easy for us thinking we're helping by making precise distinctions but 
have the actual effect of making the docs more opaque.  That is why first-aid 
books say "bruise" instead of "subdermal hematoma" :-)

* The word "immutable" is a reasonable first approximation that doesn't require 
knowledge of hash table mechanics.  For the most part, it is how everyday users 
think about dict keys and set elements. 

* That approximation is useful because a fuller discussion would say that if 
__hash__ is defined, it should do so on fields that don't mutate.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue42348>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to