Changes between Version 2 and Version 3 of InexactEqvWeaver


Ignore:
Timestamp:
11/25/12 15:38:57 (5 years ago)
Author:
cowan
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • InexactEqvWeaver

    v2 v3  
    4343== Differences between this proposal and R6RS == 
    4444 
    45 1. The R6RS implicitly requires that the implementation will be able to   prove operational equivalence in ''all'' cases where there is no counterexample (which I suspect is not always possible), whereas my definition does not.  My definition strictly requires `#t` for inexacts only when they have the "same internal representation".  Therefore, my definition allows `#f` to be returned in some cases where R6RS would strictly require `#t`. 
     45Even apart from the NaN problem [see #477 for details], my formulation has four notable changes: 
     46 
     471. The R6RS implicitly requires that the implementation will be able to prove operational equivalence in ''all'' cases where there is no counterexample (which I suspect is not always possible), whereas my definition does not.  My definition strictly requires `#t` for inexacts only when they have the "same internal representation".  Therefore, my definition allows `#f` to be returned in some cases where R6RS would strictly require `#t`. 
    4648 
    47492. The R6RS has a circular definition, comparing the results of `(f z1)` and `(f z2)` using 'eqv?', whereas my formulation uses `=` when the results are both numbers (and not both !NaNs).  I would conjecture that this results in the same requirements as those ''intended'' by the R6RS authors.