• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
      • Io
        • Fmt
        • Msg
        • Cw
        • Set-evisc-tuple
        • Set-iprint
        • Print-control
        • Read-file-into-string
        • Std/io
        • Msgp
        • Printing-to-strings
        • Evisc-tuple
        • Output-controls
        • Observation
        • *standard-co*
        • Ppr-special-syms
        • Standard-oi
        • Standard-co
        • Without-evisc
        • Serialize
          • With-serialize-character
          • Unsound-read
          • Serialize-read
          • Serialize-in-books
          • Print-compressed
          • Print-legibly
          • Serialize-write
          • Set-serialize-character-system
          • Serialize-alternatives
        • Output-to-file
        • Fmt-to-comment-window
        • Princ$
        • Character-encoding
        • Open-output-channel!
        • Cw-print-base-radix
        • Set-print-case
        • Set-print-base
        • Print-object$
        • Extend-pathname
        • Print-object$+
        • Fmx-cw
        • Set-print-radix
        • Set-fmt-hard-right-margin
        • File-write-date$
        • Proofs-co
        • Set-print-base-radix
        • Print-base-p
        • *standard-oi*
        • Wof
        • File-length$
        • Fms!-lst
        • Delete-file$
        • *standard-ci*
        • Write-list
        • Trace-co
        • Fmt!
        • Fms
        • Cw!
        • Fmt-to-comment-window!
        • Fms!
        • Eviscerate-hide-terms
        • Fmt1!
        • Fmt-to-comment-window!+
        • Read-file-into-byte-array-stobj
        • Fmt1
        • Fmt-to-comment-window+
        • Cw-print-base-radix!
        • Read-file-into-character-array-stobj
        • Fmx
        • Cw!+
        • Read-objects-from-book
        • Newline
        • Cw+
        • Probe-file
        • Write-objects-to-file!
        • Write-objects-to-file
        • Read-objects-from-file
        • Read-object-from-file
        • Read-file-into-byte-list
        • Set-fmt-soft-right-margin
        • Read-file-into-character-list
        • Io-utilities
      • Defttag
      • Sys-call
      • Save-exec
      • Quicklisp
      • Std/io
      • Oslib
      • Bridge
      • Clex
      • Tshell
      • Unsound-eval
      • Hacker
      • ACL2s-interface
      • Startup-banner
      • Command-line
    • Hardware-verification
    • Software-verification
    • Math
    • Testing-utilities
  • Io

Serialize

Routines for saving ACL2 objects to files, and later restoring them

We thank Jared Davis for contributing the ``serialization'' routines for saving ACL2 objects in files for later loading.

We implement some routines for writing arbitrary ACL2 objects to files, and for loading those files later. We usually call these ".sao" files, which stands for (S)erialized (A)CL2 (O)bject.

Our serialization scheme uses a compact, binary format that preserves structure sharing in the original object. We optimize for read performance.

Subtopics

With-serialize-character
Control output mode for print-object$
Unsound-read
A faster alternative to serialize-read, which is unsound in general, but may be fine in many common cases.
Serialize-read
Read a serialized ACL2 object from a file
Serialize-in-books
Using serialization efficiently in books
Print-compressed
Wrapper for print-object$ that ensures serialize compression is enabled (if supported).
Print-legibly
Wrapper for print-object$ that ensures serialize compression is disabled.
Serialize-write
Write an ACL2 object into a file
Set-serialize-character-system
Avoid some special serialize writing, including for .cert files
Serialize-alternatives
Historic alternatives to the serialize routines.