do...until wisdom needed...

Douglas Alan nessus at mit.edu
Thu May 10 18:01:01 EDT 2001


"Andrew Dalke" <dalke at acm.org> writes:

> This essay was written by one of the founders of Lucid, a commercial
> Lisp company.  It implies that OO wasn't common in Common Lisp
> systems, which would mean that OO programming wasn't a frequently
> used paradigm in Lisp programming of the time.

Common Lisp was a standard meant to unite many different dialects of
Lisp.  That's why it's called "Common" Lisp.  That's also one reason
that it is rather bloated.  For a long time each implementation of
Lisp strayed from the standard, moving closer and closer to the
standard over time.  This is kind of similar to how it took a long
time for implementations of C++ to match the standard.  (Do any
implementations of C++ yet match the standard?)

The Common Lisp standard for a long time had no OO standard.  Each
implementation was left to its own devices as far as OO went.  Every
implementation had an OO system -- this system was just not part of
the standard.  There were quite a few macro packages for a Common Lisp
compliant implementations that would bring OO to Common Lisp, but for
a long time these different OO systems were allowed to compete with
each other, rather than on a standard OO fascility being standardized
on.

Even without an OO macro package, it has always been very easy to
program in Lisp in an OO style (except for inheritance, i.e.,
encapsulation + polymorphism are easy to do), and this has been a
common thing to do.

> That's not saying it wasn't used, as your link to Paul Graham's
> "Being Popular" make mention of OO research done with Lisp.  I'm
> just suggesting that popular use of OO programming in Lisp occured
> at roughly the same time as OO programming using other languages
> became popular, and not in the mid-70s.

In 1980 all the major general purpose Lisps, except Scheme (which
really counted more as a research and educational language than as a
general purpose langage) that were being actively worked on had very
sophisticated OO facilities.  Lisp Machines, for instance, had
Flavors, which is where the term "mixin" comes from.  Scheme was
designed to make it particularly easy to roll your own OO as a
pedagogical device.

|>oug



More information about the Python-list mailing list