From: Kerry Koitzsch
Subject: New SAVE-OBJECT (9A) available
Date: 
Message-ID: <26l1in$etk@crl.crl.com>
Newsgroups: comp.lang.lisp
Subject: New Version of SAVE-OBJECT (9A) available
Summary: This version supersedes those currently in the CMU archive
Followup-To: 
Distribution: world
Organization: 
Keywords: Persistent objects, portable, multiple platforms, ASCII.

Hello LISP experts:

  Many of you have used SAVE-OBJECT in the past, a utility for
saving LISP objects to files in an ASCII representation, and have provided
good feedback for its improvement. (Many of you have also nagged your
vendors to include this type of functionality with their products, so
far all we've gotten in MAKE-LOAD-FORM-SAVING-SLOTS and #. , but its a
start!)
   We are continuing to work with the "big seven" platforms in an
attempt to make SAVE-OBJECT truly portable, and of course CLtL2, when
completely implemented by the vendors, is helping. Due to a couple of
problems/questions I've seen on comp.lang.lisp recently, I'm going to
be releasing a new version of SAVE-OBJECT next Monday, which will
supersede the old ones, provide some bug fixes, and be somewhat
leaner code; the new version will also have the following features:

    --- optional structure sharing (returning an EQ copy rather than
        an EQUAL one)

    --- Optional circularity checking (ability to turn off checking
        for circular lists and other structures)

    --- Optional encoded output for smaller file size, some speedup

    --- We will also be bypassing the use of (format stream ....
        in the code, using lower-level primitives for speedup

The new version will also support ALLEGRO\PC.

SAVE-OBJECT was only intended, originally, as a stopgap measure until
the LISP vendors provided similar 'industrial strength' functionality:
so far they havent (except for Symbolics DUMP-FORMS-TO-FILE), so we're
still working on SAVE-OBJECT when we have time; however, its always been
more of a testbed for experiment than a shrink-wrapped entity. The 
new version, 9A, will be our first attempt at consolidating what
we've learned, after being able to profile and optimize some of the
code.

If you'd like a copy of this code, send me an email at ·····@crl.com.
Questions about older versions (such as appear in the CMU archive)
can be sent here too, but remember to tell your vendor: "The object
you save SHOULD be your own!" ·····@crl.com