use decimal

Sam Ruby rubys at intertwingly.net
Wed Sep 17 16:48:34 PDT 2008


Maciej Stachowiak wrote:
> 
> On Sep 17, 2008, at 2:34 PM, Douglas Crockford wrote:
> 
>> Sam Ruby wrote:
>>
>>> To the extent that I understand Doug's proposal, it essentially is an
>>> opt-in that would remove a feature (binary64 floating points); and
>>> therefore would likely be about as successful as an opt-in that
>>> removed another feature that Doug dislikes, such as "with".  Am I
>>> missing something?
>>
>> It would replace a feature that many consider to be broken with a 
>> feature that
>> we hope will work better.
> 
> While decimal floating point may be better than binary floating point 
> for some applications, such as currency calculations, it would be 
> unsuitable for other applications such as graphics. Doing advanced 
> client-side graphics in JavaScript is an increasingly popular 
> application. For example, see Processing.JS, Algorithmic Ink, Mozilla's 
> recent image filtering demo, and any of a number of charting and graphic 
> applications.
> 
> Using decimal floating point is unacceptable for these kinds of 
> applications - the performance would not be acceptable. So we should not 
> go down a path based on the assumption that binary floating point can be 
> removed.

If we agree that binary64 isn't a "bug" that needs to be removed, 
wouldn't the simplest solution that could possibly work be separate 
number and decimal data types that can be freely convertible between 
each other, and the absolutely most a "use decimal" could possibly mean 
is that the interpretation of numeric literals is as decimal floating 
point as opposed to binary floating point?

> I agree with you and Brendan that these issues are better resolved in 
> Harmony.

At the minimum, I would hope that we should be able to agree on what the 
issues are.  If they can't be worked in time, so be it.

Doug has put forward the proposal that Harmony seek to "wholly replace 
the binary representation with the decimal representation".  Is that the 
consensus of the group?

If not, the data types need to co-exist.  I've made a specific proposal 
on how that could work, and made repeated requests that people provide 
specific feedback, and I've provided executable source, spec text, test 
results, and an online web service.

Anybody care to mark up what they would like to see the following look like?

   http://intertwingly.net/stories/2008/09/12/estest.html

> Regards,
> Maciej

- Sam Ruby



More information about the Es-discuss mailing list