Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!wuarchive!uunet!tut.cis.ohio-state.edu!unreplyable!garbage From: Gregor@parc.xerox.com (Gregor Kiczales) Newsgroups: comp.lang.clos Subject: Re: Creating metaclasses Message-ID: <91May2.094725pdt.29186@tracer-bullet.parc.xerox.com> Date: 2 May 91 16:47:14 GMT References: <9105020636.AA28415@kuwait> Sender: welch@tut.cis.ohio-state.edu Distribution: inet Organization: CommonLoops Lines: 13 Its great that the Lucid implementations supports this, and it would be great if other implementations did as well. But, the excerpt quoted by Richard Harris does, in fact, have the effect of not requiring implementations to support this. The reason for this restriction is that optimizations are easier if the implementor can be assured that the entire meta-level program has been defined before any of the base-level program is instantiated. This makes it possible to compute any optimizations at the time the base-level program is instantiated. Furthermore, since the meta-level program isn't permitted to change, it isn't necessary to be able to update those optimizations.