🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.clos
Article #127

Re: Accessors specified in a defclass don't seem to use slot-value in Lucid

#127
From: Harley Davis
Date: Mon, 17 Aug 1992 11:50
41 lines
2618 bytes
In article <28265.9208141401@subnode.aiai.ed.ac.uk> jeff@aiai.edinburgh.ac.uk (Jeff Dalton) writes:

   > With regard to the performance implications of doing it this way, Trent
   > Lange has already pointed out that the newest PCL does this efficiently.
   > It's too bad that earlier versions of PCL (one which some commercial
   > implementations are based) had the bug where they didn't implement this
   > aspect of the MOP properly.

   Ordinary accessors can be efficient by not going through
   slot-value-using-class, but what about the accessors that
   _do_ have to go through slot-value-using-class?  How big
   a price do you pay for actually using the MOP?

I think this is the biggest conceptual bug in the CLOS MOP.  Although
the description of the implementation of the MOP in AMOP tries to do
as much as possible at definition time, the language itself specifies
too much which has to be done at runtime.  The TELOS (EuLisp) MOP
tries to fix this bug in a number of places.  For example, slot access
is done by a single accessor function computed at definition time by
calling COMPUTE-SLOT-READER-USING-CLASS.  This has a far smaller
runtime cost than SLOT-VALUE-USING-CLASS, especially when you write
new methods for it.  However, in many places the penalty might still
be too large, since you may end up calling a function for an operation
which should be completely inlined.  (Harry Bretthauer's IMSA '92
paper will discuss this at more length.)

I think the ideal would be a MOP which was completely executed at
compile-time, using compilation environment representations of object
system components to generate some well-defined intermediate language.
I understand that the PARCies are working on something like this for
non-OO aspects of computer languages.  Is there any available progress
reports on this work yet?

-- Harley Davis
--

------------------------------------------------------------------------------
nom: Harley Davis			ILOG S.A.
net: davis@ilog.fr			2 Avenue Gallie'ni, BP 85
tel: (33 1) 46 63 66 66			94253 Gentilly Cedex, France
Technical Details
Message-ID: <DAVIS.92Aug17115018@reaumur.ilog.fr>
Path: arc1-ca.pugleaf.net!sparky!uunet!mcsun!corton!ilog!davis
References: <28265.9208141401@subnode.aiai.ed.ac.uk>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!mcsun!corton!ilog!davis
From: davis@reaumur.ilog.fr (Harley Davis)
Newsgroups: comp.lang.clos
Subject: Re: Accessors specified in a defclass don't seem to use slot-value in 
         Lucid
Message-ID: <DAVIS.92Aug17115018@reaumur.ilog.fr>
Date: 17 Aug 92 11:50:18 GMT
References: <28265.9208141401@subnode.aiai.ed.ac.uk>
Sender: news@ilog.fr
Organization: ILOG S.A., Gentilly, France
Lines: 41
In-reply-to: jeff@aiai.edinburgh.ac.uk's message of 14 Aug 92 14:01:15 GMT