I’d like hold the next typing meetup on Wednesday, November 20 at (18:00 UTC - see here for your local time)[Are we meeting yet?].
The meeting link will be:
Meeting ID: 979 3737 8675
Passcode: 901193
Topic: 2024 Python Typing Survey
@lolpack has finished a detailed analysis of the typing survey we ran a few months ago and will be presenting.
Call for additional topics
We will probably have time for at least one more topic if anyone feels like a synchronous discussion would be helpful. Tagging a few folks who might have topics they would like discuss:
@mikeshardmind, in case you’d like to discuss either or both of your threads related to safer __hash__ and __eq__ or improving the handling of Any as a base class.
@Eneg in case you feel a discussion would help with your draft PEP to expand ReadOnly semantics
@PIG208 in case you think a discussion would help move PEP 728 on typed dicts with extra items forward.
Not sure if more discussion would be immediately helpful for Any as a base class, I’ve not been able to reconcile it in a way I’m happy with and that is currently denotable. I think any reconciliation here still needs better clarity elsewhere before it’s worth more than a theoretical understanding for the internals of type checkers to use to produce more accurate results. It’s going to be difficult to write conformance tests if the expected outputs are a type we don’t have a standard means of denoting, specifically concerning what will essentially be unknown types with N compatibility bounds, both above and below.
hash and eq consistency improvement is something I can make time to discuss if anyone else is interested. I could move forward with specification language and conformance tests, but I’m not sure if the broader implications of that reached enough of an agreement, and it might open up a few questions about other LSP exceptions that it might be helpful to have consensus on before the comparison exists in type checkers[1]
That question being “Why are hash and eq special-cased on object, while constructors are special-cased methods?” The improvement here is obvious for hash and eq, but while type safety could improve with doing the same to constructors, constructors would be much more disruptive to relocate and narrow the special-case of. An answer, even a temporary one worded as such to this should probably be part of this if it happens. ↩︎