On Thu, Sep 17, 2009 at 07:02:19AM -0400, Andre van Tonder wrote:
> On Wed, 16 Sep 2009, Brian Mastenbrook wrote:
> 
> > On Sep 16, 2009, at 4:16 PM, Andre van Tonder wrote:
> >> 
> >> I'm not sure what you mean, but LETREC* evaluates bindings in left to right
> >> sequence.
> >
> > It evaluates the expressions in left to right order, but all of the 
> > bindings 
> > are visible over the evaluation of the inits.
> 
> Again, as I have said many times and even explained with examples, I am not 
> contesting the visibility rules at the toplevel for macros.  In the following
> toplevel sequence typed at a REPL
> 
>    (m)
>    (define-syntax m (syntax-rules ((_) .....)))
> 
> I /agree/ that M is lexically VISIBLE in the first line.
> But I /disagree/ that M should yet be bound to the macro when the first line
> is expanded.

How could it be?  Haven't you just been given an "undefined
identifier" or "unbound variable" error after the first
[return]?  Surely all bets are off at that stage, and nothing is
going to go back and re-evaluate (m) after you type the second
line?

Cheers,

-- 
Andrew

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

Reply via email to