On 07.07.2018 2:31, Guido van Rossum wrote:
On Fri, Jul 6, 2018 at 4:19 PM Terry Reedy <tjreedy@udel.edu> wrote:
Since Guido, the first respondent, did not immediately shoot the idea
down, I intend to flesh it out and make it more concrete.

Maybe I should have shot it down. The term is entrenched in multiple languages by now (e.g. https://en.wikipedia.org/wiki/List_comprehension). Regarding "list builder" one could argue that it would just add more confusion, since there's already an unrelated Builder Pattern (https://en.wikipedia.org/wiki/Builder_pattern) commonly used in Java. (Though I worry about the presence of a Python example in that Wikipedia page. :-)

According to https://en.wikipedia.org/wiki/List_comprehension#History, the term's known from at least 1977 and comes from such influential languages as NPL, Miranda and Haskell. So it's not you to blame for it :-)

Also, "generator builder" is not much more expressive than "generator expression",

"generator builder" is simply incorrect. The GE doesn't "build" generators, it's a generator itself. It's a generator _and_ an expression. What could be a more obvious name?
This suggestion looks like coming from someone who hasn't quite grasped generators yet.

and the key observation that led to this idea was that it's such a mouthful to say "comprehensions and generator expressions".

Since "X comprehensions" are advertised as and intended to be functionally equivalent to `X(generator expression)', I use just "generator expressions" to refer to all.
That's accurate because the common part with the distinctive syntax -- which is the thing referred to when addressing them all -- effectively _is_ a generator expression (the syntax differences in the leading term are insignificant), what wraps it is of no concern.

So, no new terms are necessary, but someone who cares may add a note to the docs to this effect.

Maybe it's not too late to start calling the latter "generator comprehensions" so that maybe by the year 2025 we can say "comprehensions" and everyone will understand we mean all four types?

FWIW more people should start using "list display" etc. for things like [a, b, c].
--Guido van Rossum (python.org/~guido)

Python-Dev mailing list
Unsubscribe: https://mail.python.org/mailman/options/python-dev/vano%40mail.mipt.ru