[net.lang.lisp] Object oriented programming in Lisp

skef@cmu-cs-spice.ARPA (Skef Wholey) (06/03/85)

    From winkler@harvard.ARPA (Dan Winkler) Mon Jun  3 01:11:40 1985

    Is it possible to use the features in Common Lisp to do object oriented
    programming?

At the very least, object oriented programming is a just a way of structuring
programs, and so just about any language can be used for "object oriented
programming."  On the other hand, since Lisp is more extensible than most,
advanced facilities for object oriented programming can be written in Lisp and
installed in the Lisp environment, which, since it is already interactive, can
lead to a more SmallTalk-like environment.

Zetalisp (aka Lisp Machine Lisp) provides a very hairy multiple-inheritance
object facility known as Flavors.  Steve Handerson, here at CMU, has
implemented a portable Flavors system in Common Lisp.  Send queries about this
system to Handerson@CMU-CS-C.ARPA.  The system is still under development.

    What I can get for my Mac now is Experlisp, which
    is reportedly (I haven't actually seen it) similar to Common Lisp.

It is not very close to Common Lisp.  I believe the company may alter it to be
more like Common Lisp, but even so it will be a relatively small subset of
Common Lisp.  The portable flavors system mentioned above will probably not
run in Experlisp or other small pseudo Common Lisps.

On the other hand, simple single-inheritance object systems are very easy to
implement even in small Lisps.  For the Mac, the best final solution might be
some other object oriented programming system, like Object Pascal.
-- 
uucp: ...!seismo!cmu-cs-spice!skef
arpa: skef@CMU-CS-Spice