On Sat, Dec 6, 2008 at 4:32 PM, Wacek Kusnierczyk <
Waclaw.Marcin.Kusnierczyk@idi.ntnu.no> wrote:

> Stavros Macrakis wrote:
> > On Sat, Dec 6, 2008 at 5:02 AM, Wacek Kusnierczyk <
> > Waclaw.Marcin.Kusnierczyk@idi.ntnu.no> wrote:
> >> yepp, though (2/3)*3 not evaluating to 2 is again not a must, is it.
> > Why is that less a must than .3-.2 == .1?  On the contrary, the computing
> > convention (and for that matter the usual scientific and engineering
> > convention) is that a decimal point signals an approximate number.
> not a must, since no floating point arithmetic has to be involved here.
>

Floating-point is not the issue here.  Fixed point is just as bad.  The
problem is that it is a binary fraction, not a decimal fraction.  It is
perfectly possible to do decimal arithmetic in computers, and it is useful
for commerical, but not scientific/engineering calculations.

> Yes, Scheme uses standard (correctly rounded) IEEE floating point, but of
> course other cases like 15.0/22.0*22.0 are not exact.

(* (/ 2.0 3.0) 3.0) is not exact either, as aren't (* (/ 2.0 2.0) 2.0)
> and 2.0; this was a teaser ;)
>

Actually, they *are* all exact in any system using IEEE floats.

> No, I don't think that's the correct way to think about it.  I believe
that
> the R spec says (or should say) that "numeric" means IEEE double-precision
> floats, with all that that entails: range restrictions, precision,
rounding
> rules, NaNs, etc.

maybe.
>

Some other language systems have tried other approaches to specifying float
accuracy.  For example, the original Ada spec had its own floating-point
error model, which allowed a greater range of results to be considered
"correct".


> > Sounds like a pretty naive claim...
>
> to be fair to the referred to post, it went:
>
> "One of the key design features of R is that it hides implementation
> details from users. They are free to think about the substantive issues
> with their data rather than worrying about computational trivia."
>

This is just puffery: *"Puffery* as a legal
term<http://en.wikipedia.org/wiki/Legal_term>refers to promotional
statements <http://en.wikipedia.org/wiki/Advertising> and claims that
express subjective <http://en.wikipedia.org/wiki/Subjectivity> rather than
objective <http://en.wikipedia.org/wiki/Objectivity_%28journalism%29> views,
such that no reasonable person would take literally." (Wikipedia)

Every language claims that it is a better level of abstraction for users'
problems and hides the "computational trivia" from the user.  R certainly
abstracts from a lot of "computational trivia" that you'd have to deal with
in Fortran or C, but in the end you can't take these things too literally.

             -s

	[[alternative HTML version deleted]]

