CL-STORE

A Common Lisp Serialization Package

CL-STORE is a package originally written by Sean Ross for serializing and deserializing CL objects from streams.
It is maintained by Leslie P. Polzer and Brit Butler. A test suite is included to ensure reliability.

CL-STORE is licensed under the MIT Licence.

Example

      ;; Store a class and instance
      cl-user(1): (defclass foo ()
                    ((bar :accessor bar :initarg :bar)))

      cl-user(2): (cl-store:store (list (find-class 'foo)
                                        #'bar
                                        (make-instance 'foo :bar "bar"))
                                  "test.out")


      ;; Then restore them in a fresh lisp session
      cl-user(1): (let ((vals (cl-store:restore "test.out")))
                    (funcall (second vals) (third vals)))
                   => "bar"

 

Features

CL-STORE currently supports serialization of

Clisp, OpenMCL and Allegro CL do not support serializing structure instances.

Serialization of functions and closures is not supported at this time.

Downloads

Use Quicklisp to install cl-store quickly.

The latest source and tarballs are available on GitHub.

Documentation

Mailing Lists