Submitter's name: Richard Kelsey
Submitter's email: kelsey at s48.org
Relevant draft: r7rs draft 6
Type: defect
Priority: major
Relevant section of draft: Equivalence predicates
Summary: The list of cases where eqv? returns #t does not mention procedures.
Several of the eqv? examples have eqv? returning #t when comparing procedures. Eq? is required to behave identically to eqv? on procedures, and one eq? example returns #t when comparing procedures.
I suggest that you go back to R5RS's notion of having procedures tagged with locations.
If the location tags are not used, then either come up with some other was to tell when two procedures are the same or change the eqv? and eq? examples so that no procedure comparison returns #t. Also, the formal semantics needs to be changed, as it still has a location as part of a procedure value and uses that location in its definition of eqv?.