# [R6RS] string->number

dyb at cs.indiana.edu dyb at cs.indiana.edu
Wed Aug 30 16:21:49 EDT 2006

I don't have any more time to waste on this debate right now; suffice it
to say I don't believe the R5RS says what you think it says, and I think
the R6RS requirement is overly restrictive for systems that represent
inexact numbers using IEEE arithmetic.  Nevertheless, the R6RS wording,
which I missed (or missed the implications of) on my earlier readings,
exists, and I'm not going to ask that it be changed at this point.  Given
that it exists, and that it requires (/ 0 3.5) => 0.0 (or at least some
other inexact number), it doesn't make sense for (/ 0 0.0) to return 0.
So please go ahead and change the (/ 0 0.0) example to return +nan.0.  You
might also add an example showing that (/ 0 3.5) evaluates to 0.0.

Mike seems to think you want to change the (* 0 +inf.0) and (* 0 +nan.0)
examples too:

> > Really?  What about these two examples in base.tex:
> >
> > (* 0 +inf.0)                           \ev  0 \textit{or} +nan.0
> > (* 0 +nan.0)                           \ev  0 \textit{or} +nan.0
>
> That's what we're talking about; Will and I would like to change it.

Since you've argued forcefully that 0 should be allowed, I assume either
you disagree with Mike or that these should be rewritten as:

(* 0 +inf.0)                           \ev  0
(* 0 +nan.0)                           \ev  0

which is fine with me.

Kent