Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!crdgw1!uakari.primate.wisc.edu!sdd.hp.com!elroy.jpl.nasa.gov!usc!ucsd!ucbvax!tut.cis.ohio-state.edu!unreplyable!garbage From: Gregor@parc.xerox.com (Gregor Kiczales) Newsgroups: comp.lang.clos Subject: Re: Redefining Classes in CLOS Message-ID: <91May16.094134pdt.29186@tracer-bullet.parc.xerox.com> Date: 16 May 91 16:41:32 GMT References: Sender: welch@tut.cis.ohio-state.edu Distribution: inet Organization: CommonLoops Lines: 12 There are several published papers which discuss how to do this. Among them is "Efficient Method Dispatch in PCL," by myself and Luis Rodriguez. This paper appeared in the proceedings of the 1990 Lisp and Functional Programming Conference. The mechanism described in the paper is implemented in PCL, which is publicly available. The short answer to the question is that most existing implementations do not update all the instances as soon as the class is defined. Instead, they do something like arrange for the next cache access (slot lookup or generic function call) for that instance to miss. The required update is detected and handled as part of the miss handler.