[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
What package are feature names resident in?
In-reply-to: your message of 20-Jun-85 16:58 EDT
Your most current proposal is exactly what I had been hoping for
when first bringing this problem up; namely
1) features are symbols, and the basic "featurep" amounts to
a memq on the *features* list; and
2) *package* is temporarily rebound to the keyword package while
reading in the feature form, so that the default case is to look
for symbols on the keyword package.
This solution permits random, or non-keyword, features to exist, but
puts the burden on the instigator and user of such random features
to prefix them by their package name. Contrast this with the only
secure way to use a feature name that is immune to incidental
shadowings -- every user would be forced to package-qualify their
feature names. Better to not burden the common case user.
Two other items I hadn't anticipated seem to have come up
1) Non-existent package qualifiers should be interpeted, in this
context, to be missing features [as opposed to being an error]
2) The user of #. will have to be aware of the context change,
or else #. will have to be outlawed in the #+ context.
I have no particlar feelings on (2) one way or the other, but
I do feel rather strongly that *whenever* a programmer has to
resort to the use of #., it is an indication of a shortcoming
in the defined external syntax. If a reasonable programmer can't
find an alternative for his usages of #., then the Common Lisp
community should have an action/discussion item on its agenda.
Stress "reasonable".
-- JonL --