<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<a class="moz-txt-link-freetext" href="https://github.com/python/cpython/pull/8145">https://github.com/python/cpython/pull/8145</a><br>
<br>
<div class="moz-cite-prefix">On 07.07.2018 3:33, Ivan Pozdeev via
Python-Dev wrote:<br>
</div>
<blockquote type="cite"
cite="mid:48547fa0-49a3-de25-8c20-a1e109271f95@mail.mipt.ru">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
On 07.07.2018 2:58, Ivan Pozdeev via Python-Dev wrote:<br>
<blockquote type="cite"
cite="mid:808f6d74-2899-a19f-54ac-167e88f3ba62@mail.mipt.ru">
<meta http-equiv="Content-Type" content="text/html;
charset=utf-8">
On 07.07.2018 2:31, Guido van Rossum wrote:<br>
<blockquote type="cite"
cite="mid:CAP7+vJJ79WnmMzpwD8zzM1qmkdiUue0nUviqTWBW8Z8v28yg5A@mail.gmail.com">
<meta http-equiv="content-type" content="text/html;
charset=utf-8">
<div dir="ltr">
<div class="gmail_quote">
<div dir="ltr">On Fri, Jul 6, 2018 at 4:19 PM Terry Reedy
<<a href="mailto:tjreedy@udel.edu"
moz-do-not-send="true">tjreedy@udel.edu</a>> wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex"> Since Guido, the
first respondent, did not immediately shoot the idea <br>
down, I intend to flesh it out and make it more
concrete.<br>
</blockquote>
<div><br>
</div>
<div>Maybe I should have shot it down. The term is
entrenched in multiple languages by now (e.g. <a
href="https://en.wikipedia.org/wiki/List_comprehension"
moz-do-not-send="true">https://en.wikipedia.org/wiki/List_comprehension</a>).
Regarding "list builder" one could argue that it would
just add more confusion, since there's already an
unrelated Builder Pattern (<a
href="https://en.wikipedia.org/wiki/Builder_pattern"
moz-do-not-send="true">https://en.wikipedia.org/wiki/Builder_pattern</a>)
commonly used in Java. (Though I worry about the
presence of a Python example in that Wikipedia page. :-)</div>
</div>
</div>
</blockquote>
<br>
According to <a class="moz-txt-link-freetext"
href="https://en.wikipedia.org/wiki/List_comprehension#History"
moz-do-not-send="true">https://en.wikipedia.org/wiki/List_comprehension#History</a>,
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 :-)<br>
<br>
<blockquote type="cite"
cite="mid:CAP7+vJJ79WnmMzpwD8zzM1qmkdiUue0nUviqTWBW8Z8v28yg5A@mail.gmail.com">
<div dir="ltr">
<div class="gmail_quote">
<div><br>
</div>
<div>Also, "generator builder" is not much more expressive
than "generator expression",</div>
</div>
</div>
</blockquote>
<br>
"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?<br>
This suggestion looks like coming from someone who hasn't quite
grasped generators yet.<br>
<br>
<blockquote type="cite"
cite="mid:CAP7+vJJ79WnmMzpwD8zzM1qmkdiUue0nUviqTWBW8Z8v28yg5A@mail.gmail.com">
<div dir="ltr">
<div class="gmail_quote">
<div>and the key observation that led to this idea was
that it's such a mouthful to say "comprehensions and
generator expressions".</div>
</div>
</div>
</blockquote>
<br>
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.<br>
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.<br>
<br>
So, no new terms are necessary, but someone who cares may add a
note to the docs to this effect.<br>
<br>
</blockquote>
<br>
<blockquote type="cite"
cite="mid:808f6d74-2899-a19f-54ac-167e88f3ba62@mail.mipt.ru">
<blockquote type="cite"
cite="mid:CAP7+vJJ79WnmMzpwD8zzM1qmkdiUue0nUviqTWBW8Z8v28yg5A@mail.gmail.com">
<div dir="ltr">
<div class="gmail_quote">
<div>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?</div>
<div><br>
</div>
</div>
</div>
</blockquote>
</blockquote>
<a class="moz-txt-link-freetext"
href="https://docs.python.org/3/reference/expressions.html?highlight=comprehension#displays-for-lists-sets-and-dictionaries"
moz-do-not-send="true">https://docs.python.org/3/reference/expressions.html?highlight=comprehension#displays-for-lists-sets-and-dictionaries</a><br>
<br>
Oh, I see. So, "comprehension" is actually the official term for
this "distinctive syntax", and the fact that "generator
expressions" came to use it is but a coincidence.<br>
<br>
In that case, we can do a Solomon's decision: mention _both_ that
"comprehension" is the official term for the syntax in GE's
reference entry, _and_ the fact that "X comprehensions" are
effectively wrapped GEs in their reference entries.<br>
<br>
Then everyone will learn both terminologies and could choose which
is more convenient to use.<br>
<br>
<blockquote type="cite"
cite="mid:808f6d74-2899-a19f-54ac-167e88f3ba62@mail.mipt.ru">
<blockquote type="cite"
cite="mid:CAP7+vJJ79WnmMzpwD8zzM1qmkdiUue0nUviqTWBW8Z8v28yg5A@mail.gmail.com">
<div dir="ltr">
<div class="gmail_quote">
<div> </div>
<div>FWIW more people should start using "list display"
etc. for things like [a, b, c].<br>
</div>
<div> </div>
</div>
-- <br>
<div dir="ltr" class="gmail_signature">--Guido van Rossum (<a
href="http://python.org/%7Eguido" moz-do-not-send="true">python.org/~guido</a>)</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
Python-Dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Python-Dev@python.org" moz-do-not-send="true">Python-Dev@python.org</a>
<a class="moz-txt-link-freetext" href="https://mail.python.org/mailman/listinfo/python-dev" moz-do-not-send="true">https://mail.python.org/mailman/listinfo/python-dev</a>
Unsubscribe: <a class="moz-txt-link-freetext" href="https://mail.python.org/mailman/options/python-dev/vano%40mail.mipt.ru" moz-do-not-send="true">https://mail.python.org/mailman/options/python-dev/vano%40mail.mipt.ru</a>
</pre>
</blockquote>
<br>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
Python-Dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Python-Dev@python.org" moz-do-not-send="true">Python-Dev@python.org</a>
<a class="moz-txt-link-freetext" href="https://mail.python.org/mailman/listinfo/python-dev" moz-do-not-send="true">https://mail.python.org/mailman/listinfo/python-dev</a>
Unsubscribe: <a class="moz-txt-link-freetext" href="https://mail.python.org/mailman/options/python-dev/vano%40mail.mipt.ru" moz-do-not-send="true">https://mail.python.org/mailman/options/python-dev/vano%40mail.mipt.ru</a>
</pre>
</blockquote>
<br>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
Python-Dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Python-Dev@python.org">Python-Dev@python.org</a>
<a class="moz-txt-link-freetext" href="https://mail.python.org/mailman/listinfo/python-dev">https://mail.python.org/mailman/listinfo/python-dev</a>
Unsubscribe: <a class="moz-txt-link-freetext" href="https://mail.python.org/mailman/options/python-dev/vano%40mail.mipt.ru">https://mail.python.org/mailman/options/python-dev/vano%40mail.mipt.ru</a>
</pre>
</blockquote>
<br>
</body>
</html>