From: David Hanley
Subject: Re: How make an abstract class in CLOS?
Date: 
Message-ID: <392B09BA.29976DEC@ncgr.org>
Sergio wrote:

> How can i make an abstract class using defclass?

SInce CLOS uses a fundamentally different model than C++
this may not be a useful question; specifically, you do not need
to make a base class to do the following:

(defclass square () ( .. ))
(defclass circle () ( .. ))

(defmethod area( (s square ) ) ( .. ) )
(defmethod area( (c circle ) ) ( .. ) )

(defun foo( shape )( .... (area shape ) ) )

In C++ "foo" would have to take an ancestor of both square and
circle.  In CLOS this is not necessary, so abstract classes are
somewhat superfluous.

People have already shown how to do what you are specifically
asking for in lisp, but i thought this might still be of help.

dave