John Cowan <co...@mercury.ccil.org> writes: > The R7RS-large committee is trying to sort out what R6RS Section 3.4 > means by its first two sentences: > > Implementations of Scheme must support number objects for > the entire tower of subtypes given in section 3.1. Moreover, > implementations must support exact integer objects and exact > rational number objects of practically unlimited size and > precision, and to implement certain procedures (listed in 11.7.1) > so they always return exact results when given exact arguments. > > Does this mean that implementations may arbitrarily restrict the ranges > of non-real numbers? All the procedures mentioned in 11.7.1 are closed > over the real numbers (except for division by zero), so they cannot > force the existence of non-real numbers.
As far as I can see, the paragraph does not say anything about non-real numbers. Also, I don't know what you mean by "arbitrarily". An implementation is certainly free to restrict the ranges of non-real numbers, however. For example, complex numbers with flonum parts were (intended to be) within what the report says. > 3.4 explicitly says "Implementations may support only a limited range > of inexact number objects of any type, subject to the requirements of > this section." That would seem to bless having exact (or some exact) > but not inexact non-real numbers. Could you parenthesize this? I assume you mean "bless having (exact (or some exact) but not inexact non-real numbers)". Since R6RS explicitly describes a tower, every inexact real is also a complex number, so I think the answer is no. -- Regards, Mike _______________________________________________ r6rs-discuss mailing list r6rs-discuss@lists.r6rs.org http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss