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
