Scheme language standardization process
On 11/25/2012 05:48 PM, John Cowan wrote: > Per Bothner scripsit: > >> IMO this does the wrong thing if you have two different NaN values, >> as allowed by IEEE. Neither is numerically equal to itself, >> but they have different bit-patterns, and eqv? should compare >> them as false. > > That conclusion has always seemed metaphysical to me. Why should > they be compared as false? There is no standard Scheme procedure that > can distinguish them. Only deliberate abstraction-breakers like CL's > `decode-float` can do so. > In any case, there is the pragmatic issue that some Schemes follow R5RS > and say that two NaNs are never `eqv?` (because they are never `=`), and > others do not. OK, leaving it unspecified seems reasonable. > I can't tell which ones use a "same-bits" approach and > which ones do something different, because I don't know a consistent way > to generate NaNs with distinct bit patterns that works across all Schemes. > > If anyone knows how to do so on an x86 (32 bit) Linux box, I would like > to know about it. Using R6RS's bytevector-ieee-single-native-ref should work for those implementations that support it. But of course many don't. (Kawa doesn't.) Perhaps that's something to consider for the Large language. -- --Per Bothner per@x http://per.bothner.com/ _______________________________________________ Scheme-reports mailing list Scheme-reports@x http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports