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
-~----------~----~----~----~------~----~------~--~---

Reply via email to