In the matter of the definition of `eqv?` on inexact numbers, I have voted for `r6rs` (operational equivalence), `representational` (representational, i.e., bitwise equivalence), and `r5rs` (numerical equality as in `=`) in that order. Note that `eqv?` will remain unspecified on two NaNs no matter how this vote comes out.
Here's my rationale: I think the `r5rs` choice is Just Wrong as long as IEEE is the dominant representation of inexact numbers: there needs to be a way to distinguish between 0.0 and -0.0 for memoization and other purposes, as they behave differently for some arithmetic procedures. For IEEE (always excepting NaNs, which are implementation-dependent), `r6rs` and `representational` mean the same thing: with only one bit pattern per operationally distinct number, `representational` can't discriminate between them. In the non-IEEE space, I think the `r6rs` choice is more principled, but I can live with `representational`, though it may end up discriminating between non-IEEE numbers that aren't really different. -- When I'm stuck in something boring John Cowan where reading would be impossible or (who loves Asimov too) rude, I often set up math problems for [email protected] myself and solve them as a way to pass http://www.ccil.org/~cowan the time. --John Jenkins _______________________________________________ Scheme-reports mailing list [email protected] http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports
