[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Packages
Date: 1 Dec 1986 16:40-EST
From: Sean.Engelson@cad.cs.cmu.edu
Date: Mon, 1 Dec 86 16:25 EST
From: Soley@MIT-XX.ARPA
Are you saying that (eql #'FOO:QUUX #'BAR:QUUX) => NIL, but (eql
'FOO:QUUX 'BAR:QUUX) => T ??
I guess my idea wasn't well-worded. Let me try to clarify. I would
remove any association of symbols to packages, thus there would be no
FU:QUUX, there would just be QUUX. However, QUUX's value and function
would be attached to packages, thus we could speak of QUUX's function
in package FU, or QUUX's value in package BAR. Thus we have separate
name spaces for functions and values, without the ridiculosity of
having to do interning, or string coercion whenever comparison of
symbols is needed.
I don't see what this solves. You still need to /talk about/ functions
attached to symbols in other packages, in order to apply them. I was
just using "FOO:QUUX" as that syntax; are you suggesting something like
((function QUUX FOO) 1 2 3)
for the current (FOO:QUUX 1 2 3) ?? And if you want the A package value
of the symbol B, instead of A:B you have to type (value-of B 'A) or
something? That's just syntax. And there're separate
function/value/property slots for each symbol for each known package?
I think this makes the world more complex, not simpler. I think in most
cases you don't want the name of one of your symbols to be eq to another
symbol that just happens to have the same name, but is in another
package.
-- Richard Soley