[Python-Dev] Preserving the definition order of class namespaces.
ericsnowcurrently at gmail.com
Tue May 26 04:00:06 CEST 2015
On Mon, May 25, 2015 at 6:30 PM, Larry Hastings <larry at hastings.org> wrote:
> Eric asked for one for this C reimplementation of OrderedDict; the coding
> was done, the debugging wasn't.
> 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.
> 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
> 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.
> 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.
Thanks, Larry. As to the conditional exceptions, I'm just going to
drop those entirely in favor of getting them in 3.6. I'll still
pursue OrderedDict for 3.5b2 though (and hope to land it this week).
More information about the Python-Dev