[r6rs-discuss] [Formal] Disallow redefinitions macros/variables

From: AndrevanTonder <andre>
Date: Wed Mar 28 09:40:24 2007

On Tue, 27 Mar 2007, Abdulaziz Ghuloum wrote:

> So, the overhead may vary anywhere between 0% (for
> a rhs that never returns) and 100% (for very small leaf
> routines). In addition to the run time overhead, there is a
> compile time overhead as well (this is usually ignored).

..although the single-assignment check can be eliminated entirely
for an initial subset of definitions by following the same rules
Will Clinger enumerated. In other words, the same programming
practice can make both the current and the single-assignment
models more efficient.

In any case, efficiency was only one reason for the proposal.
If single assignment already has to be enforced at library
toplevel (assuming Kent Dybvig's proposal is accepted), it
would be most uniform if it were also required (at least
from the programmer) for internal definitions.

If, on the other hand, library-level and internal definitions
behave differently, we are back at overloading DEFINE with
different meanings like in R5RS. One thing I liked about
DEFINE in r5.91/2rs was precisely that the meaning of DEFINE
was no longer overloaded.

Andre
Received on Wed Mar 28 2007 - 09:39:42 UTC

This archive was generated by hypermail 2.3.0 : Wed Oct 23 2024 - 09:15:01 UTC