> the language makes no guarantee about hash consistency between
executions

because it's futile in the general case, even if objects were to get a serial 
`id` and hash by it for example, any change in the number of objects created 
across all of Python (including its builtin modules and various libraries 
unrelated to the user code) would make these hashes move.

So it's not like it's even possible to require this generally for all objects.

None of that makes deterministic structural hashing any less useful in 
practice, though.

Besides, do other languages require it?
Is it required for the language to behave in a manner that makes sense?

Or maybe you think it's by pure accident that such an overwhelming majority of 
languages and software libraries implement/use deterministic hashing functions 
for primitive types or aggregates that consist of such types? 
I can't figure out if you think it's actually a bad property for the language 
to have, or really just arguing that it's bad for the sake of it.

> set order is not guaranteed
Maybe not. In practice it has fully deterministic behavior, always has across 
all versions of Python since its inception. I don't care about what the order 
is, only that it's deterministic, and it is.

Rejecting my change because someone can technically get away with breaking 
this, after 30+ years seems highly suspect.

Imagine I came in with 0.5% perf improvement, you would reject it citing that 
Python's requirements do not mandate that sets have good performance, and also 
that since they don't, someone else might come in with a change that slows down 
sets by an arbitrary amount, so there's no reason to believe my change will 
help at all

Yes, if we tried really hard, we could always make the language worse. That's a 
pretty awful reason to reject the change though.
_______________________________________________
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/CDEDUAMJENE5TMSEMEP4PM3JXF6WBXQP/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to