Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uwm.edu!bionet!agate!ucbvax!tut.cis.ohio-state.edu!unreplyable!garbage From: Gregor@parc.xerox.com (Gregor Kiczales) Newsgroups: comp.lang.clos Subject: Re: SLOT-VALUE and structures Message-ID: <91Apr17.161702pdt.29186@tracer-bullet.parc.xerox.com> Date: 17 Apr 91 23:16:58 GMT References: <2880914762-3910514@Gilgamesh> Sender: welch@tut.cis.ohio-state.edu Distribution: inet Organization: CommonLoops Lines: 29 Date: Wed, 17 Apr 1991 15:06:02 PDT From: Kevin Gallagher From: Gregor Kiczales (via barmar@think.com) Date: Mon, 15 Apr 1991 09:37:22 -0700 The MOP spec does not require SLOT-VALUE to work on structures. This requirement was dropped in the final version because some people were concerned that it interfered with efficient structure implementations. I am very disappointed to see this. For several *years* the standard answer to the question ``How do I access an arbitrary slot in a structure instance?'' has been ``Use SLOT-VALUE (when CLOS is available).'' This question is asked almost monthly on the various lisp mailing lists and newsgroups. Providing this capability does not prevent efficient structure implementations. All that is required is to maintain declarative information about the implemenation of the structure. I agree with you, but some vendors were concerned that it would cause performance problems. At this point, the best route is for customer requests to cause vendors to provide this functionality. As I said before, the MOP document makes it clear how to provide the functionality, it just doesn't specify it. So, there is an open hole waiting for vendors to fill.