<div dir="ltr">On Thu, Jun 13, 2013 at 7:01 AM, Kevin Gadd <span dir="ltr"><<a href="mailto:kevin.gadd@gmail.com" target="_blank">kevin.gadd@gmail.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Even if stable sorts don't get required, it would make sense to require that a given implementation is either always stable or always not stable.</div>
</blockquote><div><br></div><div style>How would such a requirement differ from the status quo? Doesn't the current v8 impl satisfy it, since a sort that happens to be stable still meets the requirements of an unstable sort? What does "always not stable" mean?</div>
<div><br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"> The current situation with V8 seems likely to result in subtly broken software shipping to the web, where it works in testing environments with small amounts of data and then breaks in the wild only on certain browsers and only if you have a certain amount of data. Yuck.<span class="HOEnZb"><font color="#888888"><br>


</font></span></div><div class="gmail_extra"><span class="HOEnZb"><font color="#888888"><br clear="all"><div>-kg</div></font></span><div><div class="h5">
<br><br><div class="gmail_quote">On Thu, Jun 13, 2013 at 6:05 AM, Mathias Bynens <span dir="ltr"><<a href="mailto:mathias@qiwi.be" target="_blank">mathias@qiwi.be</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


Bumping this old thread since V8 issue #90 (<a href="https://code.google.com/p/v8/issues/detail?id=90" target="_blank">https://code.google.com/p/v8/issues/detail?id=90</a>) has been getting lots of comments lately.<br>
<br>
It appears that unstable sort, while perfectly spec-compliant, doesn’t match user expectations. It doesn’t help that some browsers/engines _do_ use a stable sorting algorithm, while others don’t — which surprises people and occasionally breaks (badly-written, but hey) code. (See the thread I linked to for examples.) Then, there’s V8, which uses stable sort for small arrays with 10 or fewer elements, but an unstable sorting algorithm for larger arrays, causing even more confusion.<br>



<br>
Here’s a test case that tests arrays of varying sizes: <a href="http://ofb.net/~sethml/is-sort-stable.html" target="_blank">http://ofb.net/~sethml/is-sort-stable.html</a> The results in different browsers are listed, too.<br>



<br>
IMHO it would be nice if ES would require a stable sorting algorithm: it would match user expectations, cause fewer issues in existing code, and improve operability in general.<br>
<br>
What would be the best way to make TC39 consider this change?<br>
<br>
_______________________________________________<br>
es-discuss mailing list<br>
<a href="mailto:es-discuss@mozilla.org" target="_blank">es-discuss@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/es-discuss" target="_blank">https://mail.mozilla.org/listinfo/es-discuss</a><br>
</blockquote></div><br></div></div></div>
<br>_______________________________________________<br>
es-discuss mailing list<br>
<a href="mailto:es-discuss@mozilla.org">es-discuss@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/es-discuss" target="_blank">https://mail.mozilla.org/listinfo/es-discuss</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>    Cheers,<br>    --MarkM
</div></div>