[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: the KEYWORD package ...
Date: 24 Feb 1988 19:20-PST
From: David Bein <pyrnj!pyramid!bein@rutgers.edu>
Suppose we have a symbol which has no home package which is going
to be imported into the keyword package using one of IMPORT,SHADOW,
or SHADOWING-IMPORT. Should those functions "keyword-ize" the
symbol ala INTERN, i.e. should the value of the symbol be set
to itself?
Cf. pg 175: "The KEYWORD package is treated specially in that whenever a symbol
is added to the KEYWORD package the symbol is always made external; the symbol
is also automatically declared to be a constant (see DEFCONSTANT) and made to
have itself as its value."
I interpret the word `added' as encompassing INTERN, IMPORT, etc., so I would
say that the answer to your question is `yes'.
While on the subject, should the keyword package be
allowed to use (or be used by) other packages?
Cf. pg 187: "It is an error to try to use the KEYWORD package."
I don't see any problem with having the KEYWORD package use another package
(I don't see much point to it either). Do you?
I am leaning in favor of:
(1) Anytime a symbol's home package is set to the keyword package,
the symbol is keywordized destroying any previous value.
Since one can never directly `set' the home package of a symbol, I don't think
it is clear to couch a rule in that way. How about, "Anytime a symbol is made
present in the KEYWORD package, the symbol is `keywordized'..." This basically
rephrases pg 175.
(2) It should be an error for the keyword package to use (or be used by)
another package.
Why should it be an error for the keyword package to use another package?
(3) It should be an error to import a symbol into the keyword package
which already has another home package.
Why?
-- Nick