On Fri, Jul 12, 2013 at 6:39 PM, Jeff Walden <jwalden...@mit.edu> wrote:
> On 07/12/2013 06:17 PM, Tab Atkins Jr. wrote:
>> On Fri, Jul 12, 2013 at 5:15 PM, Domenic Denicola
>> <dome...@domenicdenicola.com> wrote:
>>> While I sympathize with the desire to make "integer" mean "mathematical 
>>> integer," I don't think it's going to work out very well. Nobody actually 
>>> cares about such functions, and you of course have the WATs of
>>>
>>> ```js
>>> Number.isInteger(9007199254740992.5) === true
>>> ```
>>>
>>> since the runtime couldn't distinguish this from `9007199254740992`.
>>
>> This is what I was trying to point out as a ridiculous possibility in
>> Jeff's idea, except he claimed it's what he actually wanted. ;_;
>
> Roughly no one will type something like that.  :-)  And if the "value" were 
> the result of an operation that lost precision, there's no way to tell that 
> with an API that tells you if the value was an integer.

Exactly, which is why we can only *accurately* answer for numbers <=
2^53-1.  Anything larger might have lost precision.

Technically, smaller things may lose precision as well - 2^52 + .5 ==
2^52.  But expecting precision out of decimals is a mugs game anyway.
As long as you stick to integers, you can be sure of your precision
for <= 2^53-1, but as soon as you hit 2^53, you're no longer sure.

~TJ
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to