$Revision: 5.0.2.4 $
Package: EXCL
Arguments: (data stream &optional *fasl-circle*
*compile-verbose*)
fasl-write writes coded data that can be loaded later to recreate a
Lisp data value. The function's return value is unspecified. The coded data written to the
file is independent of the value of *package*
when fasl-write
is called. The compiler must be in the image executing the fasl-write. A
file written by fasl-write can be read by fasl-read.
The data argument specifies the data item to be written. It can be any Lisp value built from the following data types: cons cells, hashtables, symbols, numbers (integers, floats, ratios, complexes), characters, strings, structures, vectors and arrays (simple or non-simple, general or specialized), and functions.
The data cannot at this time include CLOS objects, streams, stacks, or c-allocated data (cstructs).
The value of the stream argument must be a string naming the file to be
written or an open output stream with element-type (unsigned-byte 8) or one opened by fasl-open. If a string is supplied then a file with this name
will be opened, with option :if-exists
:supersede
. If a stream
is supplied, then fasl-write will put the coded form of the data argument
in the stream without performing open or close operations. This allows writing several
data values to a file so that all can be read later.
The fasl-circle argument specifies whether shared or circular structures
should be handled. If this argument is passed and is nil
, then fasl-write
will perform no checking for circular or shared structure. If it is passed and is non-nil
,
then checking will be done. If it is omitted, then the value of comp::*fasl-circle*
determines whether checking is to be done, a non-nil
value of comp::*fasl-circle*
forcing the check for shared/circular structure. Note that eq-ness of
uninterned symbols within the data object is maintained even if the fasl-circle
argument does not cause general checking for sharing. When the data object is subsequently
read in, new instances of the uninterned symbols will be created, but only one new
uninterned symbol will be created for each distinct uninterned symbol in the data.
Note that structure sharing cannot be maintained across separate calls to fasl-write.
See 2.0 The fasl reader/writer in miscellaneous.htm for more information on fasl-read and fasl-write.
The general documentation description is in introduction.htm. The index in index.htm.
Copyright (C) 1998-1999, Franz Inc., Berkeley, CA. All Rights Reserved.