<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix"><br>
      <br>
      On 05/25/2015 03:22 PM, Eric Snow wrote:<br>
    </div>
    <blockquote
cite="mid:CALFfu7DZvqTgNYHGu+0zOXJ1xAOhN7ne7_JrmJnL330g4FcBGQ@mail.gmail.com"
      type="cite">
      <pre wrap="">On Mon, May 25, 2015 at 2:40 PM, Terry Reedy <a class="moz-txt-link-rfc2396E" href="mailto:tjreedy@udel.edu"><tjreedy@udel.edu></a> wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="">On 5/25/2015 3:40 PM, Eric Snow wrote:
</pre>
        <blockquote type="cite">
          <pre wrap="">Since Larry already gave an exception,
</pre>
        </blockquote>
        <pre wrap="">
Conditional on 'general approval of the community'.
</pre>
      </blockquote>
      <pre wrap="">
Unless I misunderstood him, Larry gave me an unconditional exception
for OrderedDict itself (as long as it is in before beta 2.) 
</pre>
    </blockquote>
    <br>
    For the record I've granted three exceptions to the beta 1 feature
    freeze (so far):<br>
    <ul>
      <li>Raymond asked for one (a couple weeks ago!) for adding slice
        support to collections.deque.  He knew he wouldn't have time to
        finish it before beta 1.<br>
      </li>
      <li>Serhiy asked for one very-last-minute for a C reimplementation
        of lru_cache.  He checked it in about a half-hour before feature
        freeze and it made all the buildbots fail. (The ones that
        weren't already failing, that is.)</li>
      <li>Eric asked for one for this C reimplementation of OrderedDict;
        the coding was done, the debugging wasn't.<br>
      </li>
    </ul>
    And yes, as Eric said, I made separate pronouncements.  I said
    COrderedDict could go in as long as it was in before beta 2; "the
    other work" of __definition_order__ and switching type_prepare and
    __build_class__ to using ordered dicts I made conditional on
    "general approval of the community."  The latter has already been
    tabled for now.<br>
    <br>
    <br>
    So, in all three cases it's work that's been under development for a
    while.  These people did this work out of the kindness of their
    hearts, to make Python better.  As a community we want to encourage
    that and make sure these developers know we appreciate their
    efforts.  These people would be happier if the work shipped in 3.5
    as opposed to 3.6 so it got into user's hands sooner.<br>
    <br>
    Also, in Serhiy and Eric's cases, these are reimplementations of
    existing Python libraries in C.  On the one hand, that means we
    should have good regression test coverage in the library--which it
    seems like we do, as both of them are debugging problems uncovered
    by the regression tests.  This gives us a little more confidence
    that the work is good.  On the other hand, it does mean there's a
    higher chance of destabilization, as there's already an installed
    base using these libraries.  (As opposed to something new like
    math.isclose which has no installed base.)  So yes this could
    introduce bugs that will impact existing users.<br>
    <br>
    <br>
    Bottom line: while an important part job of my job is saying "no", I
    also feel like an important part of my job is saying "yes".  On
    balance, what will be best for Python?  In these cases, I think
    "yes" is better.  My feeling is, let's check it in (before beta 2),
    and if it causes problems during the betas / rcs we can back them
    out.<br>
    <br>
    <br>
    <i>/arry</i><br>
  </body>
</html>