[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