[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: packages, lexical variables, and compiling
I think there are two answers to "Haflich's little program".
Answer 1:
Any program that depends on the order that various symbols are interned
to work correctly should do so explicitly. At the beginning of the
program there should be all the make-packages, shadows and lists of
symbols to be interned in the correct order.
To depend on the order that various symbols are loaded implicitly (i.e.
by depending on the order in which functions which use those symbols are
loaded) is just asking for trouble.
Answer 2:
Programmers should be allowed to assume that "as much as is possible"
loading a compiled file and loading the source file have the same
effect.
I guess I believe both of these answers, and so I think CLtL should
require that the symbols be interned. But I can't think of a reasonable
coding style that would *really* depend on this feature.
P.S. Option 2, "CLtL requires that the symbols not be created",
clearly doesn't make any sense at all for all the reasons mentioned by
DCP and other reasons as well.