Re: infinities reformulated Thomas Bushnell BSG 02 Jun 2005 16:16 UTC

Aubrey Jaffer <xxxxxx@alum.mit.edu> writes:

> To first order:
>
>   (define (precision-of x) (string-length (number->string x)))
>
> R5RS requires all numbers to have external representations; and it
> specifies the allowed formats.

What?  number->string does not specify the allowed formats for exact
numbers, only for inexact (and only for some inexact numbers at that).
This isn't an accident; it was done specifically for just this reason,
to allow for different representations.  See the Rationale:

"The unspecified case allows for infinities, NaNs, and non-flonum
representations."

So if X is an exact version of sqrt 2, it's perfectly fine for
number->string to return anything that string->number can understand.

Thomas