[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
- To: (BUG LISPM) at MIT-AI
- From: rms@MIT-AI (Sent by ___002@MIT-AI)
- Date: Sat ,8 Apr 79 07:30:57 EDT
There are reasons not to put all the instance variables
of important classes on GLOBAL, or even put any of them on
global if they don't elong there for other reasons.
Doing so would cause them to be shared by all packages
for all uses, such as function definitions, which would be wrong.
It might be right to put them all in USER, by writing them with colons.
This would make sure that everyone could access them the same way,
regardless of package, without having any effect on uses of those
symbols for other purposes.
What it comes down to is that Smalltalk-style code doesn't have
the same need of packages as Lisp-style code. Neither the class names,
nor the operation names, nor the instance variables, need packages
because the class mechanism does a lot of the work of preventing
name conflicts. This has already been addressed for operation names
by writing them with colons, as opposed to putting all common operations
in GLOBAL, and I think that the same thing should be done for instance
variables, if something is to be done.