[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Recent questions about CLOS
Date: Tue, 18 Sep 1990 18:58-0400
From: Moon@stony-brook.scrc.symbolics.com (David A. Moon)
Can I expect to see an equivalent in CLOS in Genera sometime?
The committee that defined CLOS wasn't interested in putting in
optimizations like ordered-instance-variables or compile-flavor-methods.
I don't think we want to put a lot of nonstandard extensions into Genera
CLOS, after all, there's no real reason to convert from Flavors to CLOS
if you aren't going to port your code. And if you are going to port
your code, nonstandard extensions don't do you any good. Therefore I
would think the answer is no; this is not a commitment on the part of
Symbolics, of course.
I'm disappointed in you. I think this attitude is
completely off base, in terms of anticipating the
needs of the customers. There are *many* reasons to
switch to CLOS. And even non-standard extensions help.
0) Familiarity. Future Lisp programmers will be conversant
with CLOS, not Flavors (old or new). This means future
Symbolics customers, including those you'd like to win
away from other vendors.
1) Security. Even if you don't plan on porting, people
prefer not to be locked into one vendor, just in case.
By now, you should have gotten this message, (from DW
if for no other reason), so I'm a bit shocked to see
your response!
2) Multi-methods. At first, I didn't think these were
important for most real programs. I was wrong, and I
use them all the time now.
3) CLIM. Even if you don't plan to port, you might want
to use CLIM, and not have to deal with two object systems.
4) Future portability. Most successful code will someday
be faced with the issue of porting to other platforms.
5) Current portability. Even for code that you plan to port
immediately, Genera-specific optimizations can still have
great merit. Just because you're going to port it doesn't
mean that it's not ALSO going to continue to run on Genera!
At least, that should be your goal. Providing enhancements
to ensure a Genera performance advantage should be a
critical strategic goal for Symbolics.
Or has Symbolics completely ceded the delivery market?
Right now, having to compile constructors, etc.
greatly slows down starting up of CLIM applications.
Loading is painfully slow.
I know, the same is true under PCL, but a
COMPILE-FLAVOR-METHODS-style enhancement is in
order. Actually, this particular bit of
functionality *SHOULD* have been addressed by the
committee; they just didn't have enough experience
with the practical usage of CLOS to know it. I'd
like to see the CLOS committee propose a portable
enhancement here. (Lazy or tardy implementations
can always leave these things as NOOP's, so there
shouldn't be a lot of resistance, once a suitable
design is chosen).
Even if different implementations do it differently,
it's still possible to hide the differences with
macrology, so don't let "non-portability" deter you
from providing the feature.