Sorry, I meant to say that (set! (@ MOD NAME) EXP) should be considered harmful as well.
Mark On Wed, Sep 02, 2009 at 12:17:11PM -0400, Mark H Weaver wrote: > The ability to set! arbitrary module top-level variables from outside > the module, using the syntax (set! (@@ MOD NAME) EXP), destroys our > ability to several important optimizations. > > As long as such ability exists, we must pessimistically assume that > any module top-level variable might change at any time, which means, > for example, that we cannot inline top-level procedure applications > from within the module itself. This could be a HUGE efficiency win in > the common case where such top-level procedures are never set! from > within the module. > > Now that we have proper hygienic macros, is this functionality still > required? If we're going to remove it, pre-2.0 seems like a good time > to do so. We won't get another opportunity for several years. > > Mark >