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

[Scheme-reports] Are generated toplevel definitions secret?



R5RS didn't specify this, which was always a very annoying obstacle to 
portability.  E.g.,

    (define x 1)
    (let-syntax ((foo (lambda (e)
                        (syntax (begin
                                  (define x 2)
                                  x)))))
      (foo))  ;==> 2
    x         ;==> NOT SPECIFIED IF IT SHOULD BE 1 or 2

It seems from my reading on p. 15 that R7RS doesn't specify it either.

In otehr words, definitions introduced in macros can possibly shadow toplevel 
bindings, which is a major obstacle to safe hygienic macro programming.

_______________________________________________
Scheme-reports mailing list
Scheme-reports@x
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports