Newsgroups: comp.object,comp.lang.clos,comp.lang.lisp.x,comp.lang.scheme
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news2.near.net!howland.reston.ans.net!newsserver.jvnc.net!adl33cc!sbloch
From: sbloch@adl15.adelphi.edu (Stephen Bloch)
Subject: classes as objects
Message-ID: <CzMD6D.7J9@adl33cc.adelphi.edu>
Sender: news@adl33cc.adelphi.edu (USENET News System)
Nntp-Posting-Host: adl15.adelphi.edu
Organization: Adelphi University, Garden City, NY
Distribution: na
Date: Mon, 21 Nov 1994 13:23:01 GMT
Lines: 19
Xref: glinda.oz.cs.cmu.edu comp.object:22836 comp.lang.clos:2650 comp.lang.lisp.x:1370 comp.lang.scheme:11394

My first exposure to an OO language was through a shareware Mac Xlisp
about six years ago, and it struck me as really nifty that "class" was
a real object, not just a programming concept -- indeed, it was an
instance of itself.  I think (pedagogically) it helped me learn the
concept faster.  As a side effect, creating a new class took the same
syntax as did creating an instance of an existing class.  This particular
language, however, used message-sending syntax rather than the (I think)
more natural function-call syntax used in CLOS.

"Class" and classes as ordinary objects seems to me consistent with
CLOS (in fact, were I to implement a CLOS I'd be inclined to do it this
way and add things like defclass as syntactic sugar).  And it seems
eminently consistent with the Scheme philosophy.  Does such a system
(either CLOS or an object-oriented Scheme) exist?

--
                                                 Stephen Bloch
                                           sbloch@boethius.adelphi.edu
                                        Math/CS Dept, Adelphi University
