On Jun 23, 2009, at 12:18 AM, Christian Plesner Hansen wrote:
I've been looking around on the web for reasons why decimal arithmetic
should be added to ES. The most extensive page I could find was
http://speleotrove.com/decimal/decifaq.html. If anyone know other
good sources of information about decimal and its inclusion in ES
please follow up.
Mike Cowlishaw's pages on decimal have lots of arguments for it:
The most-duplicated JS bug in bugzilla.mozilla.org is
Here's a typical naive JS user complaining that his computer his broken because it can't calculate correct differences:
"... I typed in:
9533.24-215.10
… and here is the garbage Apple babbled back at me: 9318.139999999999"
He blamed Apple. Naive users often blame hardware for software bugs.
The strongest argument seems to be financial: binary arithmetic is
approximate in a way that makes it unsuitable for financial
calculations. I buy this argument in general -- I would definitely
want my bank to use some form of decimal arithmetic rather than binary
-- but less so in the context of ES.
Do you consider that naive user's calculator example to be "financial"? I do not.
The problem is worse for non-experts. The experts can cope.
Anyway, decimal is not being pushed into JS at this point. At the last face-to-face TC39 meeting, we changed direction to explore generalizing value type support (including operators and literals if we can) so that libraries could add first class number-like types.
Whether any new value type would be native or self-hosted, and whether it would be included in the core standard, are issues we want to defer until later, ideally until there are de-facto standards to codify.
The counter-argument articulated at the meeting by Sam was that it's rare for users to download binary extensions to JS for browsers (Flash is the only exception, and it's not primarily a JS extension). So users won't get decimal unless it is part of the normative core spec, so the usability bug reported as Mozilla bug 5856 won't get fixed.
I think Sam has a point; lack of a standard could be a problem. But whatever we do about it, the committee agreed to work on value types first. They're on the Harmony agenda.
/be
_______________________________________________
es-discuss mailing list
es-discuss@...
https://mail.mozilla.org/listinfo/es-discuss