<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Jun 21, 2016 at 10:12 AM, Eric Snow <span dir="ltr"><<a href="mailto:ericsnowcurrently@gmail.com" target="_blank">ericsnowcurrently@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Mon, Jun 20, 2016 at 12:31 PM, Nikita Nemkin <<a href="mailto:nikita@nemkin.ru">nikita@nemkin.ru</a>> wrote:<br>
> Right. Ordered by default is a very serious implementation constraint.<br>
> It's only superior in a sense that it completely subsumes/obsoletes<br>
> PEP 520.<br>
<br>
</span>Just to be clear, PEP 520 is more than just OrderedDict-by-default.<br>
In fact, the key point is preserving the definition order, which the<br>
PEP now reflects better.  Raymond's compact dict would only provide<br>
the ordered-by-default part and does nothing to persist the definition<br>
order like the PEP specifies.<span class="HOEnZb"></span><br></blockquote></div><br></div><div class="gmail_extra">Judging from Inada's message there seems to be some confusion about how well the compact dict preserves order (personally I think if it doesn't guarantee order after deletions it's pretty useless).<br><br></div><div class="gmail_extra">Assuming it preserves order across deletions/compactions (like IIUC OrderedDict does) isn't that good enough for any of the use cases considered? It would require a delete+insert to change an item's order. If we had had these semantics in the language from the start, there would have been plenty uses of this order, and I suspect nobody would have considered asking for __definition_order__.<br clear="all"></div><div class="gmail_extra"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">--Guido van Rossum (<a href="http://python.org/~guido" target="_blank">python.org/~guido</a>)</div>
</div></div>