semantics Andre van Tonder (25 Jun 2006 17:23 UTC)
Re: semantics dyb@xxxxxx (26 Jun 2006 16:26 UTC)

semantics Andre van Tonder 25 Jun 2006 17:23 UTC

This may seem like nitpicking, but the description in 3.6 does not
allow one to decide if the following should evaluate to 'yes or 'no.

(let-syntax ((test
               (syntax-rules ()
                 ((_ x)
                  (let-syntax ((g (syntax-rules (x)
                                    ((_ literal) 'yes)
                                    ((_ other)   'no))))
                    (g other))))))
   (test literal))

I guess an identifier in a pattern is a literal only if it is
bound-identifier=? to one of the identifiers in the literals list,
but this is not explained.

Also, the text

"A literal identifier matches an input subform if and only if the input subform
is an identifier and either both its occurrence in the input
expression and its occurrence in the list of literals have the same lexical
binding, or the two identifiers are equal and both have no lexical binding."

refers to "the same lexical binding" - is this free-identifier=?, and ditto
for the term "equal" in the last line.

Regards
Andre