> so, I either I don't agree or I don't understand

It was the latter - I understand and agree now :)

On Mon, Jul 15, 2013 at 10:03 AM, Andreas Rossberg <[email protected]>wrote:

> On 15 July 2013 15:49, Jeremy Martin <[email protected]> wrote:
> >>  (a === b) >= (new Symbol(a) === new Symbol(b))
> >
> > Not sure I follow... so, I either I don't agree or I don't understand :).
> > I'm having to dig deep to remember my math vocab here, but I think it
> may be
> > most correct to say that the Symbol constructor, when passed an argument,
> > should be injective [1].  That is,
> >
> > 1. let F = new Symbol
> > 2. if a = b, then F(a) = F(b)
> > 3. if a != b, then F(a) != F(b)
>
> I agree, but the problem is that JavaScript's === is not an
> equivalence relation, due to the dreaded NaN !== NaN that IEEE
> invented in some delirium. So you cannot define injectivity based on
> it. You merely get an implication for the above, which is what the >=
> was supposed to encode. Object.is OTOH implements a proper equivalence
> relation, i.e. a "=" in the mathematical sense. It only differs from
> === by having a sane semantics for NaN.
>
> But as I said, I was merely picking a nit.
>
> /Andreas
>



-- 
Jeremy Martin
661.312.3853
http://devsmash.com
@jmar777
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to