[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Packages & Compiling
Date: Mon, 12 Jan 87 15:12 EST
From: Daniel L. Weinreb <DLW@ALDERAAN.SCRC.Symbolics.COM>
It's also true that if the value of *read-base* is different when you do
the compilation, or if the read table has been altered in any way, all
bets are off. In other words, the phenomenon is not specific to
packages, but applies to any state information that affects the actions
of the Lisp reader. The compiler has to be careful to do its reading
with all the parameters set appropriately.
I don't have any problem with the values of a couple of special
variables affecting the behavior of the compiler for two reasons.
(This is not a statement about whether these dependencies should
exist; I'm just trying to say that they are less troublesome.)
If I start having problems with these variables having the wrong
value, I can always write a little function or macro that sets or
binds them to standard values.
I don't change the values I use for these variables often, so the
problem never really arises.
The dependency of the behavior of the compiler upon the package
environment does give me problems for the same two reasons:
It is normal for the code that is being compiled to change the
package environment, so there is no standard value for the package
environment.
I do change the package environment often, so this is a real
problem.
In general, the compilation process should not depend upon aspects of
the current environment which are not easy to change, unless that
dependency allows better code to be produced. Allowing the compiler
to depend upon the package environment when it is compiling a
not-in-line function call doesn't allow it to produce better code.