[Python-Dev] Informal educator feedback on PEP 572 (was Re: 2018 Python Language Summit coverage, last part) (original) (raw)

Tim Peters tim.peters at gmail.com
Wed Jun 27 20:44:42 EDT 2018


[Tim]

If the parent has a matching parentlocal declaration for the same name then the original

> really refers to the grandparent - and so on.

[Greg]

Ah, I missed that part, sorry -- I withdraw that particular objecttion.

Good! I have another reply that crossed in the mail.

Still, this seems like a major addition (seeing as it comes with a new keyword) whose justification is very little more than "it makes explaining comprehension scopes easier".

I agree - it has no other sane use case I can see, and "parentlocal" isn't needed to capture the intended semantics in by-hand translations of comprehensions.

I don't even think it makes "explaining" easier. It doesn't eliminate any corner cases, it just pushes them into the definition of what "parentllocal" means.

What it would do is make writing synthetic functions "by hand" to implement comprehensions more uniform, because "parentlocal" would handle the corner cases by itself instead of making the programmer figure out when and where they need to type "nonlocal", "global", and/or cruft to establish a name as local to a block in which the name otherwise does't appear as a binding target.

But to the extent that doing such translations by hand is meant to be "educational", it's more educational to learn how to do that stuff yourself. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-dev/attachments/20180627/02bff70a/attachment.html>



More information about the Python-Dev mailing list