Definitely docs first. And we should keep references to generator expressions too, if only to explain that they've been renamed.
Perhaps someone should try it out in a 3rd party tutorial to see how it goes? I'm CC'ing Raymond Hettinger. On Mon, Jul 9, 2018 at 12:57 PM Brett Cannon <br...@python.org> wrote: > > > On Mon, 9 Jul 2018 at 12:05 Guido van Rossum <gu...@python.org> wrote: > >> I think this is worth a try. >> > > How far do we want to go with this? Update the docs? Update the grammar > and/or code? I think the former is probably good enough for now to see if > it takes, and if it does then we can talk about updating code to not > confuse people. > > >> >> On Mon, Jul 9, 2018 at 12:04 PM Chris Barker - NOAA Federal < >> chris.bar...@noaa.gov> wrote: >> >>> TL;DR- >>> >>> +1 on advocating the term “generator comprehension” as a synonym for >>> “generator expression” in future documentation and instructional >>> materials. >>> >>> The long version: >>> >>> If we were starting from scratch, maybe it would makes sense to use “ >>> builder” or something else, rather than comprehension. But we’re not >>> starting from scratch. >>> >>> And “list comprehension” has become a pretty universal (or at least >>> common) term in the python world. So we really can’t expect to re-name >>> that. >>> >>> And despite the term having its roots in an esoteric corner of >>> mathematics, I’ve never seen anyone confused by it — it’s just a new >>> word for a new thing to most folks. >>> >>> Which is actually why “generator expression” is a bit confusing — it >>> seems to have more in common with comprehensions than with generators >>> >>> (As in: the things functions with a yield in them produce) >>> >>> In fact, the term “generator” is a bit confusing itself — due to it >>> being a common English word, it seems to refer to the generic idea of >>> “a thing that generates values on the fly”, which, of course it can be >>> in Python. But it actually is a specific type. And you can make a >>> “thing that generates values in the fly” with a regular class that >>> follows the iterator protocol. >>> >>> So re-using the word in “generator expression” just adds a bit to the >>> confusion. (Even though it’s technically correct, it does “make” an >>> actual generator object, doesn’t it? (On a phone, so I can’t check) >>> but that’s kind of an implementation detail. >>> >>> Also: if you google: “python list comprehension” you get a LOT of hits >>> to tutorials, etc. >>> >>> So it is WAY too late to change that name. >>> >>> When you google “python generator expression” the top hit is the >>> python docs, and the next few are about comparing generator >>> expressions and list comprehensions. >>> >>> So I think we could start a new naming scheme for those. >>> >>> ‘cause then we’d get lost of questions about the difference between >>> generator expressions and generator comprehensions ;-) >>> >>> >>> -CHB >>> >> >> >> -- >> --Guido van Rossum (python.org/~guido) >> > -- --Guido van Rossum (python.org/~guido)
_______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com