Jeff Walden (2013-07-12T23:32:03.000Z)
On 07/12/2013 04:09 PM, Tab Atkins Jr. wrote:
> Mark's Nat() function *does* throw if the input isn't an
> exactly-representable number.

Yes.  I'm arguing that's not helpful when you can compute an exactly-representable number, that is the result of an inexact calculation, like |Math.pow(2, 53) + 1 - 4|.  The JS result of that calculation is an exactly-representable number.  But the mathematical result of that computation is not the same number.  Nat treats the number passed to it as if it were a calculation's exact result, when it may not be.

Jeff
domenic at domenicdenicola.com (2013-07-17T18:57:07.935Z)
On 07/12/2013 04:09 PM, Tab Atkins Jr. wrote:
> Mark's Nat() function *does* throw if the input isn't an
> exactly-representable number.

Yes.  I'm arguing that's not helpful when you can compute an exactly-representable number, that is the result of an inexact calculation, like `Math.pow(2, 53) + 1 - 4`.  The JS result of that calculation is an exactly-representable number.  But the mathematical result of that computation is not the same number.  Nat treats the number passed to it as if it were a calculation's exact result, when it may not be.