[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
- To: Soley@MIT-XX.ARPA, common-lisp@su-ai
- Subject: Re: Packages
- From: Sean.Engelson@cad.cs.cmu.edu
- Date: Mon, 01 Dec 1986 20:40:00 -0000
Date: Mon, 1 Dec 86 16:25 EST
To: Sean.Engelson@cad.cs.cmu.edu, common-lisp@SU-AI.ARPA
Are you saying that (eql #'FOO:QUUX #'BAR:QUUX) => NIL, but (eql
'FOO:QUUX 'BAR:QUUX) => T ??
First (to say it politely) I don't see how your solution solves
anything. Second, the more obvious solution of making (EQL 'FOO:QUUX
'BAR:QUUX) => T is (1) uneconomical, and (2) unteachable in the
presence of (eql #'FOO:QUUX #'BAR:QUUX) => NIL.
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.