Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!tut.cis.ohio-state.edu!LUCID.COM!jonl From: jonl@LUCID.COM (Jon L White) Newsgroups: comp.lang.clos Subject: Persistent Objects Message-ID: <9101142148.AA14994@kolyma> Date: 14 Jan 91 21:48:54 GMT References: <1991Jan13.183134.17914@athena.mit.edu> Sender: welch@tut.cis.ohio-state.edu Distribution: inet Organization: CommonLoops Lines: 33 re: Persistent Objects in CLOS . . . . . . and I've reached a point where I find it necessary to write some methods to save the state of CLOS objects (i.e. - class metaobjects as well as instances) to a file, so they can be restored at a later time... This is probably not the same issue as "persistence" in general -- for that you might want to look at the last two OOPSLA proceedings at papers by Andraes Paepcke of HP Labs on PCLOS. Your immediate need sounds like a "fasdmping" facility would suffice ("fasdmp" is Lisp Machine terminology). CLtL/II page 659 presents a function MAKE-LOAD-FORM invented for just this purpose. I don't suppose that any commercial CLOS in the field right now actually has that implemented, since it was added rather late in the X3J13 game. Lucid's 4.1 image has it working now, but I'm unable to make any guesses as to when this might be publicly available. As a temporary "stop-gap", I prepared for my own use a kludge that somewhat simulates in 4.0 and earlier releases the LOAD-TIME-VALUE facililty of CLtL/II page 680; at least one person was able to write some "reconstructor" functons for PCL and CLOS objects using this kludge. It's not a product or supported item, but if you are using Lucid and really stuck, give me a call privately. If you are using Franz, I would suspect that one of the Franzoids should be able to prepare a similar kludge for their system too. -- JonL -- P.S. I see your email return address is different in the two msgs; are you really a bellcore person, or an MIT "athena" student?