Subject: Re: bug#16158: psyntax: bug in bound-identifier=?

From: Mark H Weaver <[email-masked]>
Date: Mon, 16 Dec 2013 23:03:52 -0500

Marco Maggi <[email-masked]> writes:

>   IMHO it  is an  error in  the paper.  Some  paragraphs from  the paper
> preceding "the  one" have been recycled  in the R6RS document,  but this
> one paragraph has not; maybe this means something.

Interesting.  I looked closer, and found this in the R6RS definition of
'bound-identifier=?':

   Operationally, two identifiers are considered equivalent by
   bound-identifier=? if and only if they have the same name and same
   marks (section 12.1).

I also found this in the R6RS errata:

   § 12.1

   The remark "An algebra that defines how marks and substitutions
   work more precisely is given in section~2.4 of Oscar Waddell's PhD
   thesis." is somewhat misleading and should be qualified as follows:

   "Note, however, that Waddell's thesis describes slightly different
   semantics for bound-identifier=? - it specifies that for two
   identifiers to be equal in the sense of bound-identifier=?, they
   must have the same marks and be equal in the sense of
   free-identifier=?, whereas this report requires instead that they
   must have the same marks and have the same name."

I guess that Kent Dybvig changed his mind about how 'bound-identifier=?'
should behave.  I don't fully understand the issues, so I'm inclined to
go along with the R6RS definition.

Therefore, I've reverted 70c74b847680d3b239e591afa2e99c51a712980c.

   Thanks,
     Mark