Per Bothner scripsit:

> The "traditional" behavior is that we treat the top-level
> environment special, and dynamically: If we don't see a
> lexical binding, punt to a run-time lookup.  

I prefer the formulation "If something is not already known to be a
syntactic form, it's a procedure call, even if the procedure is not yet
known."  That doesn't necessarily entail punting to a runtime lookup at
all; if the variable definition is found before the compiler terminates,
it can be directly substituted.

> But that doesn't work once we have libraries which have their own
> internal namespace, which is distinct from the dynamic top-level.

Actually, it does; nobody's likely to compile *part* of a library.

-- 
John Cowan   [email protected]
    "Mr. Lane, if you ever wish anything that I can do, all you will have
        to do will be to send me a telegram asking and it will be done."
    "Mr. Hearst, if you ever get a telegram from me asking you to do
        anything, you can put the telegram down as a forgery."

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

Reply via email to