"Greg Stark" <gsstark@mit.edu> wrote in message
news:87659h6rri.fsf@stark.xeocode.com...
>
> "Thomas Hallgren" <thhal@mailblocks.com> writes:
>
> > From an OO semantics point of view, I still regard Java and C# much more
> > elaborate than both C++ and Common Lisp. The latter lacks interfaces and
> > different levels of protection.
>
> It doesn't "lack" interfaces. It has actual multiple inheritance. Which is
> what interfaces are there to substitute for.
>
Yes, it does lack interfaces and no, interfaces are definitely *not* a
substitute for multiple inheritance. An interface is a contract and behind
that contract you may have several different implementations. JDBC is a good
example. PostgreSQL has a JDBC driver. So do most other database vendors.
The thing they have in common is that they implement a set of interfaces
that together constitutes a contract stipulated by a version of JDBC.
I think we are drifting far apart from the actual subject now. Wether or not
Common Lisp has interfaces seems somewhat irrelevant to the original
question.
Kind regards,
Thomas Hallgren