On Mon, 24 Aug 2009 12:54:56 -0500, Andre van Tonder <[email protected]>  
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
[email protected]
http://brian.mastenbrook.net/

_______________________________________________
r6rs-discuss mailing list
[email protected]
http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss

Reply via email to