[r6rs-discuss] On naming the next scheme(s) [was scheme-reports.org]
Brian Mastenbrook
brian at mastenbrook.net
Mon Aug 24 14:15:16 EDT 2009
On Mon, 24 Aug 2009 12:54:56 -0500, Andre van Tonder <andre at het.brown.edu>
wrote:
> Yes. This would eliminate any need for worrying about macro or module
> phases for the small language.
It doesn't completely eliminate the need to address issues of syntax
expansion phase. Even if a literal syntax-rules form is the only thing
that can appear on the right-hand side of a let-syntax binding, the issue
of how to handle:
(let ((syntax-rules #f)
(... #f))
(let-syntax ((foo (syntax-rules () ((a ...) #t))))
(foo 1 2 3)))
needs to be addressed. I'm positive that per the R5RS this must return #t.
I'm reasonably certain that the authors of the R6RS *intended* to make
this a syntax error, though the language pertaining to this issue in the
R6RS is not exactly specification-quality material. (I'd welcome any
clarifications from the R6RS authors on the issue of cross-phase
references to lexical bindings, and how this interacts with hygiene.)
--
Brian Mastenbrook
brian at mastenbrook.net
http://brian.mastenbrook.net/
More information about the r6rs-discuss
mailing list