jonl@LUCID.COM (Jon L White) (01/14/91)
re: My code works fine in PCL, but when I run it in CLOS, I get: . . . Is this a bug or omission in CLOS, or has the protocol changed for doing this type of thing? In any event, what's the best way to accomplish what I want to do in CLOS??? You may be confusing some version of PCL's capabilities with the documented semantics of CLOS (for that, see CLtL/II -- it's as good as any, and probably more available than the others.) There have been a number of different "metaobject protocols" circulated during the past four years -- none of which have yet achieved the status of a "standard". Lucid's documentation distributed with the 4.0 release mentions a de-facto, but limited, "metaobject" standard which is supported by both Symbolics and Lucid (and susbscribed to by Franz, at least when the issue was raised on the X3J13 mailing lists last year); it's basically an introspective subset of the then-current draft proposals. Additionally, Lucid's documentation has a fairly large amount of "crossover" help, for those converting code from PCL. You may find, however, that the "metaobject" interfaces differ substantially from one PCL release to another (and I note that you didn't say just which PCL release your code works in!) I believe that Gregor Kiczales and others at Xerox PARC are still working on another draft of a metaobject proposal, and when that comes out it will be up for review. You might want to take a look at it if you are currently using parts of PCL that could be considered "metaobject" programming. In the meantime, however, one's option is, at best, to contact the Lisp vendor directly to see how you can get a current workaround for facilities that might become part of a future standard. Currently, I know of the following vendors providing CLOS: Procyon, Texas Instruments, Harlequin, Symbolics (Genera 8), Lucid 4.0 (with Franz scheduled to come out soon) Apart from the previously mentiond "de-facto, introspective" metaobject parts, and from Lucid's implementation, I don't know how the others address these issues. -- JonL --