
On Sat, Jan 23, 2016, 22:55 Guido van Rossum <guido@python.org> wrote:
On Sat, Jan 23, 2016 at 10:27 PM, Stephen J. Turnbull <stephen@xemacs.org> wrote:
Guido,
Thank you for taking the trouble to address my rather confused post.
You're welcome. And thanks for taking it as constructive criticism.
Guido van Rossum writes:
If I were to deconstruct the original statement, I would start by replacing the list comprehension with a plain old for loop.
I did that. But that actually doesn't bother me because the loop index's identifier doesn't go out of scope. I now see why that's a red herring, but maybe documentation can be improved.
Anyway, I wrote that post before seeing your explanation that things just aren't that difficult, they all follow from "variable reference as dictionary lookup". The clue I needed was the way to view a scope as an object, and then realize that all free variable references are the same, except for visibility of the relevant scope to the other code at the call site.
For me it's now a documentation issue (I know why the comprehension of lambdas work as they do, and I also know how to get the "expected", more useful result). I'll go take a look at the language reference, and tutorial, and see if I think they can be improved.
I expect that the tutorial just needs some touch-up or an extra section on these issues. But the language reference... Well, it's a mess, it is often confusing and not all that exact. I should take a year off to rewrite it from scratch (what a book that would be!), but I don't have the kind of discipline to finish long writing projects. :-(
Would doing something like the Ruby community where we write a spec using a BDD-style so it's more a set of tests than verbiage be easier? -Brett
-- --Guido van Rossum (python.org/~guido) _______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/