Article View: comp.lang.clos
Article #127Re: Accessors specified in a defclass don't seem to use slot-value in Lucid
From: Harley Davis
Date: Mon, 17 Aug 1992 11:50
Date: Mon, 17 Aug 1992 11:50
41 lines
2618 bytes
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!davisReferences:
<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