<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Sep 24, 2013 at 7:02 PM, Stephen J. Turnbull <span dir="ltr"><<a href="mailto:stephen@xemacs.org" target="_blank" onclick="window.open('https://mail.google.com/mail/?view=cm&tf=1&to=stephen@xemacs.org&cc=&bcc=&su=&body=','_blank');return false;">stephen@xemacs.org</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="im">Ram Rachum writes:<br>
<br>
 > I disagree with defining the entire class as an insertion ordering<br>
 > class and refusing<br>
<br>
</div>There's no refusal.  It's just not in the battery pack.<br>
<div class="im"><br>
 > to allow users to reorder it as they wish after it's created.<br>
<br>
</div>You can put your inefficient but useful implementation on PyPI.<br>
You can write a PEP in which<br>
you define the API.<br>
You can provide an efficient implementation suitable for the stdlib, or<br>
you can convince the gatekeepers that it doesn't need to be efficient.<br>
You can promise to maintain it for 5 years.[1]<br></blockquote><div><br></div><div>I can do an inefficient implementation and put it on PyPI. I don't see the need for writing a PEP for a simple method. ("Define the API"? Anything I'm missing beyond a call signature `def sort(self, key=None)`?)</div>

<div><br></div><div>If people here are opposed to allowing an implementation of `OrderedDict.sort` in the stdlib, I don't see a reason to waste my time putting an implementation on PyPI. What's that implementation going to help if you won't allow it anyway?</div>

<div><br></div><div>Here's a simple inefficient implementation you can use:</div><div><div><br></div><div>    def sort(self, key=None):</div><div>        '''</div><div>        Sort the items according to their keys, changing the order in-place.</div>

<div>        </div><div>        The optional `key` argument, (not to be confused with the dictionary</div><div>        keys,) will be passed to the `sorted` function as a key function.</div><div>        '''</div>

<div>        sorted_keys = sorted(self.keys(), key=key)</div><div>        for key_ in sorted_keys[1:]:</div><div>            self.move_to_end(key_)</div></div><div><br></div><div>Regarding committing to maintain it for N years: Sorry, that's beyond what I'm willing to do. If that's a requirement for contributing a minor feature to Python, I'll have to withdraw my suggestion.</div>

<div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
Why don't you?  Four or five hackers do it every cycle (although<br>
sometimes it takes more than a cycle to actually get approval).<br>
Recent successes include Ethan and Steven, who are giving you the<br>
benefit of their experience.<br>
<br>
OTOH, the barrier for mere suggestions (even backed up by proof of<br>
concept implementations) these days is quite high.  You need to<br>
convince somebody to do all of the above, which usually requires an<br>
argument that it's at least tricky to do right, and perhaps hard to do<br>
at all.<br>
<br>
Footnotes:<br>
[1]  Or whatever the going rate is these days.<br>
<div class=""><div class="h5"><br>
_______________________________________________<br>
Python-ideas mailing list<br>
<a href="mailto:Python-ideas@python.org" onclick="window.open('https://mail.google.com/mail/?view=cm&tf=1&to=Python-ideas@python.org&cc=&bcc=&su=&body=','_blank');return false;">Python-ideas@python.org</a><br>


<a href="https://mail.python.org/mailman/listinfo/python-ideas" target="_blank">https://mail.python.org/mailman/listinfo/python-ideas</a><br>
<br>
--<br>
<br>
---<br>
You received this message because you are subscribed to a topic in the Google Groups "python-ideas" group.<br>
To unsubscribe from this topic, visit <a href="https://groups.google.com/d/topic/python-ideas/-RFTqV8_aS0/unsubscribe" target="_blank">https://groups.google.com/d/topic/python-ideas/-RFTqV8_aS0/unsubscribe</a>.<br>
To unsubscribe from this group and all its topics, send an email to <a href="mailto:python-ideas%2Bunsubscribe@googlegroups.com" onclick="window.open('https://mail.google.com/mail/?view=cm&tf=1&to=python-ideas%2Bunsubscribe@googlegroups.com&cc=&bcc=&su=&body=','_blank');return false;">python-ideas+unsubscribe@googlegroups.com</a>.<br>


For more options, visit <a href="https://groups.google.com/groups/opt_out" target="_blank">https://groups.google.com/groups/opt_out</a>.<br>
</div></div></blockquote></div><br></div></div>