[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: (set! (@@ MOD NAME) EXP) considered harmful
From: |
Mark H Weaver |
Subject: |
Re: (set! (@@ MOD NAME) EXP) considered harmful |
Date: |
Wed, 2 Sep 2009 12:25:05 -0400 |
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
>