[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

hooks vs. subset (last try)



If someone could come up with a comprehensive proposal for
object-oriented programming in Common Lisp that everyone likes well
enough to adopt, that would be great.  We've got a lot of smart people
in this subgroup, most of whom have a lot of experience in
object-oriented hackery, and it is possible that such a high-level
object-oriented could emerge from our discussions.  So it's probably
worth kicking around some ideas at this level, and seeing if there's any
common ground.  It may be that we're all closer together than we think.

Then again, there are tradeoffs to be made in any object-oriented
system: efficiency vs. late binding vs. ease of implemenation vs.
presenting the user with an elegant and understandable model.  It may be
that we have irreconcilable differences in how these tradeoffs should be
made.  Perhaps there is a set of tradeoffs out there that we could all
accept, perhaps not.  My own view, admittedly based on rather limited
experience, is that flavors goes overboard on the first two of these
issues, and that elegance is butchered for very modest gains in
efficiency.  I would hate to see flavors, in its current form, become
the official standard for Common Lisp or even a de facto standard
because it is the only object-oriented system available in most
implementations.

So, while I think that we should discuss what a standard object-oriented
system for Common Lisp might be like, and that we should move toward
such a standard if possible, I think that this is a long shot.  We had
better hedge our bets by trying to come up with hooks that will support
a variety of object-oriented systems.

So much for my own view.  I should add that the second most-frequent
question (*) that people ask me about Common Lisp is what our plans are
for supporting flavors -- not object-oriented programming, but Flavors
by name.  There seem to be a lot of current and soon-to-be Zetalisp
users out there, and they see the lack of flavors as the principal
difficulty in moving between Symbolics, LMI, and (someday) TI systems
and other Common Lisp implementations.

-- Scott

* In case you are wondering, the MOST frequently asked question about
the status of Common Lisp is when there will be an implementation for
Vax/Unix.  Don't ask me, ask DEC.