On Sat, 12 Sep 2009, Brian Harvey wrote:

> I think a goal of a macro system should be that after importing a package,
> the user shouldn't have to know whether foo is a macro or an ordinary
> procedure in order to understand its behavior.  As much as possible (not
> easy or efficient -- possible) scoping rules should be the same.

A user always has to know what is a macro and what is a procedure.  The 
former has different evaluation rules from the latter.

I am not sure anyone has questioned the scope of toplevel bindings.  It seems 
clear that the scope should be the entire toplevel for every toplevel binding. 
I think the issue is dynamic extent (someone has proposed that procedures 
should have different dynamic extent from other objects).  I think it 
is important for people to realize that a macro is a macro, and by 
definition cannot have dynamic extent.  Users forget the difference at 
their own peril.

Andre

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

Reply via email to