[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Scheme-reports] Rebinding syntactic keywords as variables

5.2.1. Toplevel definitions, on p. 19, does not specify what happens
when we encounter

   (define foo 1)

if FOO has already been previously bound to a transformer by a syntax 
definition.  And vice versa for par. 5.3.

This has some consequences for the literal matching rules on p 17.  For example, 
the following is well defined

(define else 1)
(define-syntax cond .......)
(define else 2)  ; this is just a set! so does not change the location to
                  ; which ELSE is bound 
(cond (else "matches else"))  ==> matches else

but the following isn't well-defined

(define-syntax else .......)
(define-syntax cond .......)
(define else 2)  ; not just a set! any more
(cond (else "matches else"))  ==> does this match ELSE or not?

Scheme-reports mailing list