Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PEP 646: Be more explicit about grammar changes needed #1880

Merged
merged 6 commits into from
Mar 31, 2021
Merged

PEP 646: Be more explicit about grammar changes needed #1880

merged 6 commits into from
Mar 31, 2021

Conversation

mrahtz
Copy link
Contributor

@mrahtz mrahtz commented Mar 20, 2021

Since PEP 637 was rejected.

mrahtz added 2 commits March 20, 2021 13:06
Derp someone's been writing too much LaTeX recently
pep-0646.rst Outdated Show resolved Hide resolved
pep-0646.rst Outdated

1. Star expressions must be made valid in index operations,
e.g. ``Tuple[*Ts]`` (but *not* in slice operations in general - e.g.
``Tuple[*Ts:*Ts]`` is nonsensical and should remain invalid).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also clarify that Tuple[x, *y, z] is supported.

we probably need to clarify that this syntax would be accepted anywhere, with semantics as described in PEP 637 (there are subtle edge cases that were reasoned through for PEP 637).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What kinds of place do you have in mind when you say "accepted anywhere"? Aren't starred expressions still only valid in the context of indexing in PEP 637?

In terms of "subtle edge cases" - I see there are these examples in PEP 637:

obj[*()]
obj[*(x,)]
obj[*(x,),]

Are these the ones you had in mind?

More generally, I'm started to wonder whether it would be better to do a from-scratch implementation of PEP 646 in CPython (rather than basing it on the PEP 637 implementation) ato get a better sense of exactly what would be required. Do you think this would be worth it - would this make a big difference to the SC? Or would it be better to get the SC's early opinion before spending time on implementation?

pep-0646.rst Outdated Show resolved Hide resolved
Copy link
Member

@gvanrossum gvanrossum left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With my small change I now declare this perfect. I will merge this PR and send the PEP to the SC on your behalf.

@gvanrossum gvanrossum merged commit 47cb40e into python:master Mar 31, 2021
@mrahtz
Copy link
Contributor Author

mrahtz commented Mar 31, 2021

Great, thanks Guido!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants