On Sun, Jul 24, 2011 at 2:19 PM, Florian Pflug <fgp@phlo.org> wrote:
> The downside being that we'd then either need to canonicalize in
> the equality operator, or live with either no equality operator or
> a rather strange one.
It just occurred to me that, even if we sort object members, texteq
might not be a sufficient way to determine equality. In particular,
IEEE floats treat +0 and -0 as two different things, but they are
equal when compared. Note that we're only dealing with a decimal
representation; we're not (currently) converting to double-precision
representation and back.
Should we mimic IEEE floats and preserve -0 versus +0 while treating
them as equal? Or should we treat JSON floats like numeric and
convert -0 to 0 on input? Or should we do something else? I think
converting -0 to 0 would be a bad idea, as it would violate the
intuitive assumption that JSON can be used to marshal double-precision
floats.
- Joey