The marshal Reference Manual

This is the marshal Reference Manual, version 1.3.2, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 15:26:21 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 marshal

marshal: Simple (de)serialization of Lisp datastructures.

Author

Michael Wolber <>

License

MIT

Version

1.3.2

Source

marshal.asd.

Child Components

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


3.1 Lisp


3.1.1 marshal/marshal.asd

Source

marshal.asd.

Parent Component

marshal (system).

ASDF Systems

marshal.


3.1.2 marshal/package.lisp

Source

marshal.asd.

Parent Component

marshal (system).

Packages

3.1.3 marshal/utils.lisp

Dependency

package.lisp (file).

Source

marshal.asd.

Parent Component

marshal (system).

Public Interface

3.1.4 marshal/serialization-format.lisp

Dependency

utils.lisp (file).

Source

marshal.asd.

Parent Component

marshal (system).

Public Interface
Internals

function-value (function).


3.1.5 marshal/coding-idiom.lisp

Dependency

serialization-format.lisp (file).

Source

marshal.asd.

Parent Component

marshal (system).

Public Interface

*idiom-table* (special variable).

Internals

3.1.6 marshal/marshal.lisp

Dependency

coding-idiom.lisp (file).

Source

marshal.asd.

Parent Component

marshal (system).

Public Interface
Internals

3.1.7 marshal/unmarshal.lisp

Dependency

marshal.lisp (file).

Source

marshal.asd.

Parent Component

marshal (system).

Public Interface
Internals

4 Packages

Packages are listed by definition order.


4.1 serialization-format

Source

package.lisp.

Nickname

fmt

Use List

common-lisp.

Public Interface
Internals

function-value (function).


4.2 marshal

Source

package.lisp.

Nickname

ms

Use List

common-lisp.

Public Interface
Internals

4.3 utils

Source

package.lisp.

Use List

common-lisp.

Public Interface

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


5.1 Public Interface


5.1.1 Special variables

Special Variable: *idiom-table*

Definition of the vocabulary of the generated serialization. You can increase verbosity or compactness by choosing your own ’language’. key= access code used inside the programs source code
value= generated identifier.

Package

marshal.

Source

coding-idiom.lisp.


5.1.2 Ordinary functions

Function: array-elements-type (expr)
Package

serialization-format.

Source

serialization-format.lisp.

Function: array-sizes (expr)
Package

serialization-format.

Source

serialization-format.lisp.

Function: array-values (expr)
Package

serialization-format.

Source

serialization-format.lisp.

Function: circular-list-p (a-list)
Package

utils.

Source

utils.lisp.

Function: class-slots-values (expr)
Package

serialization-format.

Source

serialization-format.lisp.

Function: data-type (expr)
Package

serialization-format.

Source

serialization-format.lisp.

Function: dotted-list-p (l)
Package

utils.

Source

utils.lisp.

Function: function-value-package-name (expr)
Package

serialization-format.

Source

serialization-format.lisp.

Function: ht-hash-fn (expr)
Package

serialization-format.

Source

serialization-format.lisp.

Function: ht-rehash-size (expr)
Package

serialization-format.

Source

serialization-format.lisp.

Function: ht-rehash-threshold (expr)
Package

serialization-format.

Source

serialization-format.lisp.

Function: ht-size (expr)
Package

serialization-format.

Source

serialization-format.lisp.

Function: ht-test-fn (expr)
Package

serialization-format.

Source

serialization-format.lisp.

Function: ht-values (expr)
Package

serialization-format.

Source

serialization-format.lisp.

Function: id (expr)
Package

serialization-format.

Source

serialization-format.lisp.

Function: list-values (expr)
Package

serialization-format.

Source

serialization-format.lisp.

Function: object-class-name (expr)
Package

serialization-format.

Source

serialization-format.lisp.

Function: object-package-name (expr)
Package

serialization-format.

Source

serialization-format.lisp.

Function: proper-list-p (l)
Package

utils.

Source

utils.lisp.

Function: reference-id (expr)
Package

serialization-format.

Source

serialization-format.lisp.

Function: simple-string-value (expr)
Package

serialization-format.

Source

serialization-format.lisp.

Function: string-adjustable-p (expr)
Package

serialization-format.

Source

serialization-format.lisp.

Function: string-fill-pointer (expr)
Package

serialization-format.

Source

serialization-format.lisp.

Function: string-value (expr)
Package

serialization-format.

Source

serialization-format.lisp.


5.1.3 Generic functions

Generic Function: class-persistant-slots (class)

Defines the slots that will be serialized. Has to return list of valid slotnames. If this is a nested list, then the elements of the second level
need to be pairs of slot and accessors.

Package

marshal.

Alias for

class-persistent-slots.

Generic Function: class-persistent-slots (class)

Defines the slots that will be serialized. Has to return list of valid slotnames. If this is a nested list, then the elements of the second level
need to be pairs of slot and accessors.

Package

marshal.

Source

marshal.lisp.

Methods
Method: class-persistent-slots ((class standard-object))
Generic Function: initialize-unmarshalled-instance (object)

Called as the last step of the deserialization of an object. !Must return the object!!

Package

marshal.

Source

unmarshal.lisp.

Methods
Method: initialize-unmarshalled-instance (object)

Called as the last step of the deserialization of an object. !Must return the object!!

Generic Function: marshal (thing &optional circle-hash)

Generates an sexp when called with an object. The sexp can be used to send it over a network or to store it in a database etc.

Package

marshal.

Source

marshal.lisp.

Methods
Method: marshal ((object function) &optional circle-hash)
Method: marshal ((hash-table hash-table) &optional circle-hash)
Method: marshal ((object string) &optional circle-hash)
Method: marshal ((array array) &optional circle-hash)
Method: marshal ((list list) &optional circle-hash)
Method: marshal ((object standard-object) &optional circle-hash)
Method: marshal :around (thing &optional circle-hash)
Method: marshal (thing &optional circle-hash)
Generic Function: unmarshal (thing)

Returns an object when called with a wellformed marshal sexp.

Package

marshal.

Source

unmarshal.lisp.

Methods
Method: unmarshal (thing)

5.1.4 Standalone methods

Method: initialize-instance :after ((self persist-hashtable) &rest initargs)
Source

marshal.lisp.


5.2 Internals


5.2.1 Constants

Constant: +reference-placeholder+
Package

marshal.

Source

coding-idiom.lisp.


5.2.2 Ordinary functions

Function: %walk-list (sequence output ckey key-idiom circle-hash)
Package

marshal.

Source

marshal.lisp.

Function: coding-idiom (key)

Definition of the vocabulary of the generated serialization.You can increase verbosity or compactness by choosing your own ’language’. Simply define your own vocabulary and redefine the variable ms:*idiom-table*.

Package

marshal.

Source

coding-idiom.lisp.

Function: function-value (expr)
Package

serialization-format.

Source

serialization-format.lisp.

Function: get-function-name (function)

Implementation dependent

Package

marshal.

Source

marshal.lisp.

Function: make-circle-hash ()
Package

marshal.

Source

unmarshal.lisp.

Function: marshal-string (object circle-hash)
Package

marshal.

Source

marshal.lisp.

Function: second-pass-list (version token circle-hash &optional max-depth)
Package

marshal.

Source

unmarshal.lisp.

Function: symbol->package (symbol)
Package

marshal.

Source

marshal.lisp.

Function: token-reference-p (token)
Package

marshal.

Source

unmarshal.lisp.


5.2.3 Generic functions

Generic Function: genkey (self)
Package

marshal.

Source

marshal.lisp.

Methods
Method: genkey ((self persist-hashtable))
Generic Function: getvalue (self key)
Package

marshal.

Source

marshal.lisp.

Methods
Method: getvalue ((self persist-hashtable) key)
Generic Reader: hashtable (object)
Package

marshal.

Methods
Reader Method: hashtable ((persist-hashtable persist-hashtable))

automatically generated reader method

Source

marshal.lisp.

Target Slot

hashtable.

Generic Writer: (setf hashtable) (object)
Package

marshal.

Methods
Writer Method: (setf hashtable) ((persist-hashtable persist-hashtable))

automatically generated writer method

Source

marshal.lisp.

Target Slot

hashtable.

Generic Function: marshal-simple-string (object circle-hash)
Package

marshal.

Source

marshal.lisp.

Methods
Method: marshal-simple-string (object circle-hash)
Generic Reader: next-key (object)
Package

marshal.

Methods
Reader Method: next-key ((persist-hashtable persist-hashtable))

automatically generated reader method

Source

marshal.lisp.

Target Slot

next-key.

Generic Writer: (setf next-key) (object)
Package

marshal.

Methods
Writer Method: (setf next-key) ((persist-hashtable persist-hashtable))

automatically generated writer method

Source

marshal.lisp.

Target Slot

next-key.

Generic Function: setvalue (self key value)
Package

marshal.

Source

marshal.lisp.

Methods
Method: setvalue ((self persist-hashtable) key value)
Generic Function: unmarshal-fn (version type token &optional circle-hash)
Package

marshal.

Source

unmarshal.lisp.

Methods
Method: unmarshal-fn ((version (eql 1)) (type (eql :function)) token &optional circle-hash)
Method: unmarshal-fn ((version (eql 1)) (type (eql :string)) token &optional circle-hash)
Method: unmarshal-fn ((version (eql 1)) (type (eql :simple-string)) token &optional circle-hash)
Method: unmarshal-fn ((version (eql 1)) (type (eql :hash-table)) token &optional circle-hash)
Method: unmarshal-fn ((version (eql 1)) (type (eql :array)) token &optional circle-hash)
Method: unmarshal-fn ((version (eql 1)) (type (eql :clist)) token &optional circle-hash)
Method: unmarshal-fn ((version (eql 1)) (type (eql :dlist)) token &optional circle-hash)
Method: unmarshal-fn ((version (eql 1)) (type (eql :list)) token &optional circle-hash)
Method: unmarshal-fn ((version (eql 1)) (type (eql :object)) token &optional circle-hash)
Method: unmarshal-fn ((version (eql 1)) (type (eql :reference)) token &optional circle-hash)
Method: unmarshal-fn :around ((version (eql 1)) type token &optional circle-hash)
Method: unmarshal-fn ((version (eql 1)) type token &optional circle-hash)

5.2.4 Classes

Class: persist-hashtable
Package

marshal.

Source

marshal.lisp.

Direct methods
Direct slots
Slot: hashtable
Readers

hashtable.

Writers

(setf hashtable).

Slot: next-key
Initform

0

Readers

next-key.

Writers

(setf next-key).


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   %   (  
A   C   D   F   G   H   I   L   M   N   O   P   R   S   T   U  
Index Entry  Section

%
%walk-list: Private ordinary functions

(
(setf hashtable): Private generic functions
(setf hashtable): Private generic functions
(setf next-key): Private generic functions
(setf next-key): Private generic functions

A
array-elements-type: Public ordinary functions
array-sizes: Public ordinary functions
array-values: Public ordinary functions

C
circular-list-p: Public ordinary functions
class-persistant-slots: Public generic functions
class-persistent-slots: Public generic functions
class-persistent-slots: Public generic functions
class-slots-values: Public ordinary functions
coding-idiom: Private ordinary functions

D
data-type: Public ordinary functions
dotted-list-p: Public ordinary functions

F
Function, %walk-list: Private ordinary functions
Function, array-elements-type: Public ordinary functions
Function, array-sizes: Public ordinary functions
Function, array-values: Public ordinary functions
Function, circular-list-p: Public ordinary functions
Function, class-slots-values: Public ordinary functions
Function, coding-idiom: Private ordinary functions
Function, data-type: Public ordinary functions
Function, dotted-list-p: Public ordinary functions
Function, function-value: Private ordinary functions
Function, function-value-package-name: Public ordinary functions
Function, get-function-name: Private ordinary functions
Function, ht-hash-fn: Public ordinary functions
Function, ht-rehash-size: Public ordinary functions
Function, ht-rehash-threshold: Public ordinary functions
Function, ht-size: Public ordinary functions
Function, ht-test-fn: Public ordinary functions
Function, ht-values: Public ordinary functions
Function, id: Public ordinary functions
Function, list-values: Public ordinary functions
Function, make-circle-hash: Private ordinary functions
Function, marshal-string: Private ordinary functions
Function, object-class-name: Public ordinary functions
Function, object-package-name: Public ordinary functions
Function, proper-list-p: Public ordinary functions
Function, reference-id: Public ordinary functions
Function, second-pass-list: Private ordinary functions
Function, simple-string-value: Public ordinary functions
Function, string-adjustable-p: Public ordinary functions
Function, string-fill-pointer: Public ordinary functions
Function, string-value: Public ordinary functions
Function, symbol->package: Private ordinary functions
Function, token-reference-p: Private ordinary functions
function-value: Private ordinary functions
function-value-package-name: Public ordinary functions

G
Generic Function, (setf hashtable): Private generic functions
Generic Function, (setf next-key): Private generic functions
Generic Function, class-persistant-slots: Public generic functions
Generic Function, class-persistent-slots: Public generic functions
Generic Function, genkey: Private generic functions
Generic Function, getvalue: Private generic functions
Generic Function, hashtable: Private generic functions
Generic Function, initialize-unmarshalled-instance: Public generic functions
Generic Function, marshal: Public generic functions
Generic Function, marshal-simple-string: Private generic functions
Generic Function, next-key: Private generic functions
Generic Function, setvalue: Private generic functions
Generic Function, unmarshal: Public generic functions
Generic Function, unmarshal-fn: Private generic functions
genkey: Private generic functions
genkey: Private generic functions
get-function-name: Private ordinary functions
getvalue: Private generic functions
getvalue: Private generic functions

H
hashtable: Private generic functions
hashtable: Private generic functions
ht-hash-fn: Public ordinary functions
ht-rehash-size: Public ordinary functions
ht-rehash-threshold: Public ordinary functions
ht-size: Public ordinary functions
ht-test-fn: Public ordinary functions
ht-values: Public ordinary functions

I
id: Public ordinary functions
initialize-instance: Public standalone methods
initialize-unmarshalled-instance: Public generic functions
initialize-unmarshalled-instance: Public generic functions

L
list-values: Public ordinary functions

M
make-circle-hash: Private ordinary functions
marshal: Public generic functions
marshal: Public generic functions
marshal: Public generic functions
marshal: Public generic functions
marshal: Public generic functions
marshal: Public generic functions
marshal: Public generic functions
marshal: Public generic functions
marshal: Public generic functions
marshal-simple-string: Private generic functions
marshal-simple-string: Private generic functions
marshal-string: Private ordinary functions
Method, (setf hashtable): Private generic functions
Method, (setf next-key): Private generic functions
Method, class-persistent-slots: Public generic functions
Method, genkey: Private generic functions
Method, getvalue: Private generic functions
Method, hashtable: Private generic functions
Method, initialize-instance: Public standalone methods
Method, initialize-unmarshalled-instance: Public generic functions
Method, marshal: Public generic functions
Method, marshal: Public generic functions
Method, marshal: Public generic functions
Method, marshal: Public generic functions
Method, marshal: Public generic functions
Method, marshal: Public generic functions
Method, marshal: Public generic functions
Method, marshal: Public generic functions
Method, marshal-simple-string: Private generic functions
Method, next-key: Private generic functions
Method, setvalue: Private generic functions
Method, unmarshal: Public generic functions
Method, unmarshal-fn: Private generic functions
Method, unmarshal-fn: Private generic functions
Method, unmarshal-fn: Private generic functions
Method, unmarshal-fn: Private generic functions
Method, unmarshal-fn: Private generic functions
Method, unmarshal-fn: Private generic functions
Method, unmarshal-fn: Private generic functions
Method, unmarshal-fn: Private generic functions
Method, unmarshal-fn: Private generic functions
Method, unmarshal-fn: Private generic functions
Method, unmarshal-fn: Private generic functions
Method, unmarshal-fn: Private generic functions

N
next-key: Private generic functions
next-key: Private generic functions

O
object-class-name: Public ordinary functions
object-package-name: Public ordinary functions

P
proper-list-p: Public ordinary functions

R
reference-id: Public ordinary functions

S
second-pass-list: Private ordinary functions
setvalue: Private generic functions
setvalue: Private generic functions
simple-string-value: Public ordinary functions
string-adjustable-p: Public ordinary functions
string-fill-pointer: Public ordinary functions
string-value: Public ordinary functions
symbol->package: Private ordinary functions

T
token-reference-p: Private ordinary functions

U
unmarshal: Public generic functions
unmarshal: Public generic functions
unmarshal-fn: Private generic functions
unmarshal-fn: Private generic functions
unmarshal-fn: Private generic functions
unmarshal-fn: Private generic functions
unmarshal-fn: Private generic functions
unmarshal-fn: Private generic functions
unmarshal-fn: Private generic functions
unmarshal-fn: Private generic functions
unmarshal-fn: Private generic functions
unmarshal-fn: Private generic functions
unmarshal-fn: Private generic functions
unmarshal-fn: Private generic functions
unmarshal-fn: Private generic functions