<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    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">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">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>