The problem with having a non-stable sort (and undefined behavior really) is that programs may end up depending on whatever behavior we have, spec-mandated or not. If our behavior is implementation dependent then changing the implementation may break people's programs. If we choose a simple and well-defined behavior, and stability is an obvious choice, then it becomes easier to maintain that behavior across changes to the implementation.
On Wed, Sep 24, 2008 at 5:53 PM, Lasse R.H. Nielsen <[EMAIL PROTECTED]> wrote: > The specification does not require the sort to be stable (in fact, it > specifically says it doesn't have to be stable). > The Compare function is defined in the preceding code. It treats undefined > specially, and then, if there is a user provided comparison function it uses > that, otherwise it does string conversion and comparison. > /L > > On Wed, Sep 24, 2008 at 5:39 PM, William Hesse <[EMAIL PROTECTED]> wrote: >> >> There is no problem about the sort being stable or not, is there? Is the >> compare always the built-in >> arithmetic one? >> >> On Wed, Sep 24, 2008 at 2:34 PM, <[EMAIL PROTECTED]> wrote: >>> >>> LGTM, except for the following comments. >>> >>> >>> >>> http://codereview.chromium.org/4065/diff/1/2 >>> File src/array.js (left): >>> >>> http://codereview.chromium.org/4065/diff/1/2#oldcode724 >>> Line 724: if (IS_ARRAY(this)) { >>> This piece of code should still be needed. If we remove array holes, we >>> have to restore the length afterwards. >>> >>> http://codereview.chromium.org/4065/diff/1/2 >>> File src/array.js (right): >>> >>> http://codereview.chromium.org/4065/diff/1/2#newcode674 >>> Line 674: var pivot_index = global.Math.floor(global.Math.random() * (to >>> - from)) + from; >>> We need to make sure that we use the original Math.floor and Math.random >>> so that user-defined versions of Math.random do not interfere with this >>> code. See for instance date-delay.js that introduces and uses $floor >>> and $abs for the original versions of Math.floor and Math.abs. >>> >>> http://codereview.chromium.org/4065 >>> >>> >> >> >> >> -- >> We can IMAGINE what is not >> >> > > > > -- > Lasse R.H. Nielsen > [EMAIL PROTECTED] > 'Faith without judgement merely degrades the spirit divine' > > > > --~--~---------~--~----~------------~-------~--~----~ v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev -~----------~----~----~----~------~----~------~--~---
