True.Currently Firefox is stable, IE is consistently anti-stable (apparently consistently puts similarly compared items in the opposite of the original order - according to my rather small test), and Safari is unstable. I think that leaves us with room enough to be unstable too.
/L On Wed, Sep 24, 2008 at 6:29 PM, Christian Plesner Hansen < [EMAIL PROTECTED]> wrote: > > 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] <[EMAIL PROTECTED]> > > 'Faith without judgement merely degrades the spirit divine' > > > > > > > > > > > -- Lasse R.H. Nielsen [EMAIL PROTECTED] 'Faith without judgement merely degrades the spirit divine' --~--~---------~--~----~------------~-------~--~----~ v8-dev mailing list v8-dev@googlegroups.com http://groups.google.com/group/v8-dev -~----------~----~----~----~------~----~------~--~---