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