[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: intern
Date: Sun, 16 Feb 1986 20:54 EST
From: Rob MacLachlan <RAM@C.CS.CMU.EDU>
To: "Scott E. Fahlman" <Fahlman@C.CS.CMU.EDU>
Subject: intern
In-Reply-To: Msg of 16 Feb 1986 20:12-EST from Scott E. Fahlman <Fahlman>
Message-ID: <RAM.12183949643.BABYL@C.CS.CMU.EDU>
I believe that it was decided that the correct interpretation of
the manual did not support INTERN setting the package cell.
Contradictory passages were considered to be dated, and inconsistent
with the current notion of package semantics.
It was thought that having INTERN do anything to package cells was
a rather random side-effect, and was better left out since no very
convincing arguments were presented in its favor.
It was pointed out that IMPORT is a function which causes a symbol to
be present in a package. This seems to correspond fairly well to the
notion of intering a symbol. It was decided that having IMPORT home
the symbol made some sense, so the change to IMPORT was put in.
There is a point against INTERN setting the home package which I
believe was not discussed. It is not obvious what package INTERN
should choose at the home. It is a bad idea to set the package
to the one being interned in, since the symbol may not be present in
that package; it may be inherited. If the symbol was subsequently
unexported, it would have a home package yet not be available in that
package. This could be fixed up by choosing some package which the
symbol is present in, but the choice would have to be fairly
arbitrary, since the symbol might be inherited from more than one
package.
Rob
--------------------
This is pretty much how I remember the discussion.
-- Nick
- References:
- intern
- From: Rob MacLachlan <RAM@C.CS.CMU.EDU>