[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
External symbols and inheritance
- To: "Daniel L. Weinreb" <DLW@SCRC-QUABBIN.ARPA>
- Subject: External symbols and inheritance
- From: Rob MacLachlan <RAM@CMU-CS-C.ARPA>
- Date: Fri, 14 Sep 1984 23:31:00 -0000
- Cc: common-lisp@SU-AI.ARPA
- In-reply-to: Msg of 14 Sep 1984 16:14-EDT from Daniel L. Weinreb <DLW at SCRC-QUABBIN.ARPA>
It seems fairly clear to me that it is an error. The single-colon
notation referrs to an external symbol in the named package.
Use-Package makes the external symbols of the used package available as
internal symbols. Externalness is a property of how the symbol is
available in the package rather than an inherent attribute of the
symbol.
The semantics of the package system are fairly straightforward
when thought of in terms of the obvious implementation of maintaining
separate hashtables for each package and searching used packages to
find inherited symbols. This implementation seems to be working quite
well for Spice Lisp, and I would suggest that implementors try it to
see whether Intern is a performance bottleneck before attempting
a "better" algorithm.
Rob