<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>