Now that the Typing Council (PEP 729) is in place, it’s time to start executing. For clarity: I am not writing this post on behalf of the Council.
The first thing I’d like to get done is to officially adopt the initial spec I put together. It is in its own repo and I put it up on ReadTheDocs:
https://draft-typing-spec.readthedocs.io/en/latest/spec.html
The spec was created almost entirely by copy-pasting the specification sections from past typing PEPs, with light editing to remove clearly out of date content and harmonize the text. As discussed in the previous PEP 729 threads, I think this is the best way to get started. After this initial text is adopted, the Typing Council will be able to consider proposals to change the spec.
At this point, I’m primarily looking for two kinds of feedback:
Ways to improve presentation
For example, should the organization into top-level sections be different? A good organization will make it so that future improvements ideally touch only a few sections at a time, making them easier to understand and review.
Should the spec be one (huge!) document, or a set of multiple pages? The document is about 35k words long, more than twice the length of the longest PEP. However, rendering the whole thing as a single page makes it easier to use in-browser search on the whole document.
Are there any improvements to be made to wording? @rchen152 just contributed a number of fixes for places where the spec used wording like “this PEP”, but maybe there’s more.
Ideas for future content improvements
For simplicity, I want the initial spec to follow the existing PEPs precisely in terms of actual content. However, the PEPs are not a great spec: they are uneven, often imprecise, and sometimes out of line with what was actually implemented in type checkers.
This is a good opportunity to look for places where the spec can be improved. I filed a few already as issues on my repo, and I’m sure there are many more possible areas for improvement.
The Council will likely have a lot of these decisions to make over the next few months. We’ll have to decide internally how to prioritize the work if there are multiple proposals that need our decision. However, I would prefer to focus on those topics that are most important to the community.
Next steps
We’re still putting some of the logistics together, but the expectation is that we’ll create a typing-council repo on GitHub where issues can be opened to request the Council to make a decision. Once this thread has run its course and the logistics are in place, I’ll open an issue to request the Council’s formal decision to adopt the initial spec.