-
Notifications
You must be signed in to change notification settings - Fork 65
Organizing the SC feedback #142
Comments
This comment has been minimized.
This comment has been minimized.
Another thought: a common theme in the PEP is requests for more rationale about design decisions, and more introductory material. I worry that adding everything they're asking for would cause the PEP to fall under its own weight. One idea I have is to split the PEP in three new PEPs:
Each of these has its own audience: The Specification is for would-be implementers and to answer future questions about what the semantics ought to be in specific cases. The Rationale is for people who want to critique or discuss the PEP, and may occasionally be useful in situations where the Specification sheds insufficient light on the intentions. The tutorial is for people who are just excited about using pattern matching -- and also required reading before anyone can really understand the Specification or the Rationale. The current Rejected ideas would go in the Rationale. I suppose Deferred ideas could go there too. (Where else could they go? Maybe we don't need to bring them up except where they are important to the Rationale.) |
Also see python/peps#1573 -- Carol rewrote the Abstract and Overview for us. |
I was worried that the SC might not reach a consensus on this issue - given the traffic on the python-dev lists, if you filter out the random suggestions and bikeshedding, the feedback comments mostly fall into several distinct factions or camps, and the SC feedback seems to follow the same pattern. Ugh. I suggest we examine the biggest and most contentious issues first - if we can't get closure on those, there's really no point in polishing up the PEP text. |
Possibly we could ask the SC to present us with votes on each of the biggest issues? I would include at least the following:
There's a looming larger issue, which is whether the PEP has enough bang for the buck; my last bullet attempts to quantify that. Another murky issue is whether the SC considers the PEP to have too many "exceptions". (Then again, our use of Finally, Victor Stinner is himself a wildcard; for personal reasons (not having to do with the PEP, the SC or Python) he has abstained from commenting. But I imagine we'll need his vote. |
I had a similar thought to yours - it would be useful to know the impact of a specific decision on the SC consensus. It's not clear from reading the comments how a given edit of the PEP would change the consensus. |
So Guido and I chatted on Zoom, and we decided that:
This means that we don't need to slog through the entire history of the topic - but we can if needed. I've already created one issue for the loads vs. stores issue. |
Being new to the game, I am wondering how to read many of the SC's comments, and consider it quite an important aspect. Concerning the wildcard, for instance, does it mean that we must change the semantics of
If the SC is open to a discussion, I am happy to throw in the necessary work to improve the PEP to a state where it is generally accepted (or at least acceptable). I really appreciate that Carol has taken the time and effort to rewrite/improve parts of the PEP, and I consider it as a sign that we should move forward and tackle the various issues. |
I quite like the idea to split it into three PEPs and think that would really help in making it more approachable (I wasn't aware that we might have that option ^_^). |
Hi! I'm not gone, just catching up with everything. Summary of my position:
|
I think we probably all agree on this one. The question is, however, what "concrete syntax" in this context means. We just very recently had a discussion about replacing walrus patterns with an However, the load/store discussion is rather something that touches the very basis of what pattern matching is. And I would not want to just change that without a proper and thorough discussion. Besides that, I think we should not change or modify something too hastily, but first seek out a discussion, anyway. We have had long discussions and considered a lot of possible variations in the entire design space. I don't think that we should just change everything because others might find it "nicer". I would want to get some well founded argument as to why we should modify our design.
I am not convinced that this would work. On the one hand, that's an awful lot of work to put in for each of possible piece to convince people and argue about all the bike shedding. That's a route that will most likely take us several years to get to actual pattern matching. On the other hand, I don't think that you can cut up pattern matching in little pieces like this. We did have one or the other discussion about ramifications of one choice or another, demonstrating how much it is all very much interwoven with huge dependencies concerning design choices. This is particularly true if there are proposals to extend a feature that seem quite valid and nice when looking at it isolated, but would cut into the overall design catastrophically. |
These are all great comments. One idea for "selling" the PEP would be to make it easier for people to get their hands on the prototype implementation. I know we had published it in a notebook site, but to be honest I had never heard of that site previously. And for playing around with Python I really don't want to work online in a web page - I want something that runs on my local machine, possibly in a venv. |
We agree here, this is somewhat more than concrete syntax. I was mostly talking about things like: Regarding splitting up the PEP... I was brainstorming possible plan Bs if we find this hard to push. I think a few things can be extracted, but what I'm trying to say is that we should explore other directions that may help this through (splitting was just one possible idea, I'm trying to invite more). What I count from the feedback in term of "votes" is:
What I'd like to hear about you all in this meta-issue are what are the strategies that you think can lead towards getting more people on board. |
Going back to the idea of splitting the PEP in three parts, we would also need to find a place where we can write at length about why we think this is important, useful, etc., and fits in Python. (Using a corny phrase it will make Python better prepared for the next decades.) I could send an email to the SC proposing to meet with them on Zoom (or maybe Skype -- I don't know what they use now). Scheduling will be hard so I'd say whoever can make it at the time the SC agrees to see me is also welcome. In that email I would also sketch out our position on the three big syntax/semantics issues (lvalues, wildcards, OR), which is roughly that while wildcards and OR are negotiable, lvalues open up too big a can of worms. I'll also ask if they're open to having separate votes on each of these three issues, and what it would mean for the PEP if we could get agreement on all three (which for me would mean we can go with whatever the SC majority votes for on wildcards and OR, but I'm not budging on lvalues). |
Yes, I am happy with a meeting on Zoom/Skype, and I welcome the idea of knowing more concerning their positions on specific issues. |
We had a 90-minute Skype meeting with a subset of the SC (Brett for 30 minutes, Thomas, Carol and Barry for an extra hour). Quick notes:
Things we didn't get to:
|
I accidentally marked most of the sc-feedback issues as "fully pepped", because they are all described in adequate detail in the spec, PEP 634. However, each of these decisions needs to be carefully explained and motivated in PEP 636, so I changed the labeling to "needs more pep". Sorry about that. |
The SC sent us their feedback, in the form of a (private) Google Doc. (I want to respect the SC members' privacy and won't link it here, but all PEP authors have received a link. I should add that only 4 out of 5 SC members have reviewed the PEP.)
I would like to have the key points the SC raised somehow represented in this tracker, but I'm not sure how.
I think there is too much feedback to put it all in one issue -- this would lead to many separate discussions in a single issue, which is confusing.
We could open new issues for each (major) point brought up by the SC, and indicate that these represent SC feedback by e.g. starting the subject line with "SC:" or adding a "steering-council" label.
Most of the SC feedback goes back to issues we've already debated, so we could also choose to add new comments to those existing issues and somehow clearly mark those comments as "SC feedback".
We could also save ourselves a lot of time and withdraw the PEP. Several SC members appear to be strongly opposed, or are suggesting at very big changes (e.g. marking lvalues with special syntax); others just seem to be dragging their feet. Could any proposal rally the necessary 3 votes out of 5? And would the SC itself agree to accept the PEP if it came to 3-2?
(Spoiler: apart from lvalue marking (which I believe comes mostly from one SC member) the strongest pushback is against
_
for wildcards and|
for alternatives.)Thoughts? (Esp. @viridia -- you have had a good hand in handling other structuring questions.)
The text was updated successfully, but these errors were encountered: