Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!tut.cis.ohio-state.edu!unreplyable!garbage From: AI.gadbois@MCC.COM (David Gadbois) Newsgroups: comp.lang.clos Subject: Re: CLOS SAVE OBJECT Message-ID: <19910507225648.9.GADBOIS@KISIN.ACA.MCC.COM> Date: 7 May 91 22:56:00 GMT References: <9105071416.AA05753@thelonius.mitre.org> Sender: welch@tut.cis.ohio-state.edu Distribution: inet Organization: CommonLoops Lines: 32 Date: Tue, 07 May 91 10:16:57 -0400 From: john@linus.mitre.org Is there some reason this stuff doesn't use MAKE-LOAD-FORM et al, as defined in CLtL2? The use of the two facilities is essentially the same, except that MAKE-LOAD-FORM handles circularities, and allows the user to extend the facility, for example, to deal with user-defined metaclasses. One reason is that some of the major Common Lisp vendors have not gotten around to implementing it. As far as I know, only Symbolics (Genera 8.0.2) and Apple (MCL 2.0 beta) have it. The other vendors we deal with (Franz and Lucid) say they will have it "real soon now." Also, the CLOS dumper presented prints out a character representation, which may be advantageous in some situations. I have not tried it, but it looks like the output will be portable between implementations unlike the results of MAKE-LOAD-FORMs. Also, given that CL compilers must handle "similarity as constants", as defined in CLtL2, this functionality can be implemented completely portably with a small amount of code. I am a bit suspicious about what "similarity as constants" means for structures and instances. CLtLII (and the X3J13 relevant decisions) say that they "obey their own rules," but it is not clear to me whether this allows implementations to put objects constructed via MAKE-LOAD-FORM in read-only areas. The two implementations I have seen do not, but then they really do not have such a notion. --David Gadbois