[r6rs-discuss] [Formal] Disallow redefinitions macros/variables
andre at het.brown.edu
Wed Mar 28 09:39:42 EDT 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.
More information about the r6rs-discuss