The cl-conspack Reference Manual

Next: , Previous: , Up: (dir)   [Contents][Index]

The cl-conspack Reference Manual

This is the cl-conspack Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Aug 15 03:33:31 2022 GMT+0.

Table of Contents


1 Introduction

News

Recent changes:

cl-conspack

CONSPACK was inspired by MessagePack, and by the general lack of features among prominent serial/wire formats:

It should be noted that, significantly, none of these support references. Of course, references can be implemented at a higher layer (e.g., JSPON), but this requires implemeting an entire additional layer of abstraction and escaping, including rewalking the parsed object hierarchy and looking for specific signatures, which can be error-prone, and hurt performance.

Additionally, none of these appear to have much in the way of security, and communicating with an untrusted peer is probably not recommended.

CONSPACK, on the other hand, attempts to be a more robust solution:

See SPEC for complete details on encoding.

Usage

cl-conspack is simple to use:

(encode '(1 2 3)) ;; => #(40 4 16 1 16 2 16 3 0)

(decode (encode '(1 2 3))) ;; => (1 2 3)

;; Smaller if the element-type is known:
(encode (fast-io:octets-from '(1 2 3)))
  ;; => #(36 3 20 1 2 3)

CLOS and general objects

Conspack provides the ability to serialize and deserialize objects of any kind.

The easiest way, for the common case:

(conspack:defencoding my-class
  slot-1 slot-2 slot-3)

This expands to the more flexible way, which specializes ENCODE-OBJECT and DECODE-OBJECT:

(defmethod conspack:encode-object ((object my-class) &key &allow-other-keys)
  (conspack:slots-to-alist (object)
    slot-1 slot-2 slot-3 ...))

(defmethod conspack:decode-object ((class (eql 'my-class)) alist
                                   &key &allow-other-keys)
  (alist-to-slots (alist :class my-class)
    slot-1 slot-2 slot-3))

ENCODE-OBJECT should specialize on the object and return an alist. The alist returned will be checked for circularity of tracking-refs is in use.

DECODE-OBJECT should specialize on (eql 'class-name), and produce an object based on the alist.

As you can see, this does not require objects be in any particular format, or that you store any particular slots or values. It does not specify how you restore an object.

But for the "normal" case, SLOTS-TO-ALIST and ALIST-TO-SLOTS are provided to build and restore from alists, and DEFENCODING can define all of this in one simple form.

Circularity and References

Circularity tracking is not on by default, you can enable it for a particular block of encodes or decodes by using tracking-refs:

(tracking-refs ()
  (decode (encode CIRCULAR-OBJECT)))

"Remote" references are application-level references. You may encode a reference using an arbitrary object as a descriptor:

(encode (r-ref '((:url . "http://..."))))

When decoding, you may provide a function to handle these:

(with-remote-refs (lambda (x) (decode-url x))
  (decode OBJECT))

Indexes

If you have a relatively small static set of symbols you will always use for a particular encoding/decoding, you may want to use indexes. These allow symbols to be very-tightly-packed: for up to 15 symbols, a single byte can encode the symbol! For up to 256, two bytes, and so on.

Trivially:

(cpk:with-index (specifier-1 specifier-2 specifier-3)
  (cpk:encode '(specifier-1 specifier-2 specifier-3)))

;; => #(40 4 176 177 178 0)

;; Contrast this with:

(cpk:encode '(specifier-1 specifier-2 specifier-3))
;; #(40 4 130 64 11 83 80 69 67 73 70 73 69 82 45 49 129 64 16 67 79
;; 77 77 79 78 45 76 73 83 80 45 85 83 69 82 130 64 11 83 80 69 67 73
;; 70 73 69 82 45 50 129 64 16 67 79 77 77 79 78 45 76 73 83 80 45 85
;; 83 69 82 130 64 11 83 80 69 67 73 70 73 69 82 45 51 129 64 16 67 79
;; 77 77 79 78 45 76 73 83 80 45 85 83 69 82 0)

(This is a somewhat excessive example, since long non-keyword symbols are used. Shorter keyword symbols would be relatively shorter, but this is the general case.)

For more "realistic" use, you may define an index and refer to it:

(define-index index-name
  symbol-1 symbol-2 ...)

(with-named-index 'index-name
  (encode ...))

For instance, you may define multiple indexes for multiple different format versions, read the version, and use the appropriate index:

(define-index version-1 ...)
(define-index version-2 ...)

(let ((version (decode-stream s)))
  (with-named-index version
    ;; Decode the rest of the stream appropriately.  You may want to
    ;; do more checking on VERSION if security is required...
    (decode-stream s)))

Note that using tracking-refs will also help encode symbols efficiently, but not quite as efficiently:

However, tracking-refs is a perfectly suitable option, especially if flexibility is desired, since all symbol information is encoded, and nothing special is needed for decoding.

Properties

(Properties now require a WITH-PROPERTIES block in some circumstances, see below.)

Properties are a way to specify additional information about an object that may be useful at decode-time. For instance, while hash tables are supported as maps, there are no bits to specify the :test parameter, so decoding a hash table of strings would produce a useless object. In this case, the :test property is set when encoding and checked when decoding hash tables.

You may specify arbitrary properties for arbitrary objects; the only restriction is the objects must test by EQ.

(conspack:with-properties ()
  (let ((object (make-instance ...)))
    (setf (property object :foo) 'bar)
    (property object :foo))) ;; => BAR

This sets the :foo property to the symbol bar, and it is encoded along with the object. Note this will increase the object size, by the amount required to store a map of symbols-to-values.

When decoding, you can access properties about an object via *current-properties*:

(defmethod decode-object (...)
  (let ((prop (getf *current-properties* NAME)))
    ...))

You may remove them with remove-property or remove-properties.

Properties are now only available within a WITH-PROPERTIES block. This has a number of benefits, including some thread safety, and ensuring properties don't stick around forever.

ENCODE and DECODE have implicit WITH-PROPERTIES blocks: you don't need to specify WITH-PROPERTIES if you use properties inside ENCODE-OBJECT, DECODE-OBJECT, or encode and decode any objects that have implicit properties. You only need this if you wish to access properties outside of the encode or decode (e.g., preassigning properties to be encoded).

Allocation Limits and Security

Conspack provides some level of "security" by approximately limiting the amount of bytes allocated when reading objects.

By default, because format sizes are prespecified statically, it's possible to specify extremely large allocations for e.g. arrays with only a few bytes. Obviously, this is not suitable for untrusted conspack data.

The solution is simply to cap allocations:

(with-conspack-security (:max-bytes 200000)
  (decode ...))

Since actual allocation sizes are rather difficult to get in most lisps, this approximates the allocation based on how big each object might be, e.g.:

Each object header is tallied against the limit just prior to its decoding; if the object would exceed the allowed bytes, decoding halts with an error.

Further options may be added in the future.

Explaining

Since conspack is a binary format, it's rather difficult for humans to read just looking at the stream of bytes. Thus an EXPLAIN feature is provided. This is mostly useful for debugging the format; however it may be of interest otherwise and certainly may be helpful when creating other implementations.

For instance:

(explain (encode '(1 2 3)))

;; =>
((:LIST 4
  ((:NUMBER :INT8 1) (:NUMBER :INT8 2) (:NUMBER :INT8 3) (:BOOLEAN NIL)))
 END-OF-FILE)

2 Systems

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


Previous: , Up: Systems   [Contents][Index]

2.1 cl-conspack

CONSPACK implementation for Common Lisp

Author

Ryan Pavlik

License

NewBSD

Dependencies
  • closer-mop (system).
  • alexandria (system).
  • ieee-floats (system).
  • trivial-utf-8 (system).
  • fast-io (system).
  • trivial-garbage (system).
Source

cl-conspack.asd.

Child Components

3 Files

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


Previous: , Up: Files   [Contents][Index]

3.1 Lisp


Next: , Previous: , Up: Lisp   [Contents][Index]

3.1.1 cl-conspack/cl-conspack.asd

Source

cl-conspack.asd.

Parent Component

cl-conspack (system).

ASDF Systems

cl-conspack.

Packages

cl-conspack.asdf.


3.1.2 cl-conspack/package.lisp

Source

cl-conspack.asd.

Parent Component

cl-conspack (system).

Packages

conspack.


3.1.3 cl-conspack/util.lisp

Dependency

package.lisp (file).

Source

cl-conspack.asd.

Parent Component

cl-conspack (system).

Internals

aval (function).


3.1.4 cl-conspack/types.lisp

Dependency

util.lisp (file).

Source

cl-conspack.asd.

Parent Component

cl-conspack (system).

Public Interface
Internals

3.1.5 cl-conspack/properties.lisp

Dependency

types.lisp (file).

Source

cl-conspack.asd.

Parent Component

cl-conspack (system).

Public Interface
Internals

*properties* (special variable).


3.1.6 cl-conspack/secure.lisp

Dependency

properties.lisp (file).

Source

cl-conspack.asd.

Parent Component

cl-conspack (system).

Public Interface
Internals

3.1.7 cl-conspack/reftable.lisp

Dependency

secure.lisp (file).

Source

cl-conspack.asd.

Parent Component

cl-conspack (system).

Public Interface
Internals

3.1.8 cl-conspack/r-ref.lisp

Dependency

reftable.lisp (file).

Source

cl-conspack.asd.

Parent Component

cl-conspack (system).

Public Interface
Internals

3.1.9 cl-conspack/headers.lisp

Dependency

r-ref.lisp (file).

Source

cl-conspack.asd.

Parent Component

cl-conspack (system).

Internals

3.1.10 cl-conspack/indexes.lisp

Dependency

headers.lisp (file).

Source

cl-conspack.asd.

Parent Component

cl-conspack (system).

Public Interface
Internals

3.1.11 cl-conspack/tmap.lisp

Dependency

indexes.lisp (file).

Source

cl-conspack.asd.

Parent Component

cl-conspack (system).

Public Interface

3.1.12 cl-conspack/encode.lisp

Dependency

tmap.lisp (file).

Source

cl-conspack.asd.

Parent Component

cl-conspack (system).

Public Interface
Internals

3.1.13 cl-conspack/decode.lisp

Dependency

encode.lisp (file).

Source

cl-conspack.asd.

Parent Component

cl-conspack (system).

Public Interface
Internals

3.1.14 cl-conspack/explain.lisp

Dependency

decode.lisp (file).

Source

cl-conspack.asd.

Parent Component

cl-conspack (system).

Public Interface

explain (function).

Internals

4 Packages

Packages are listed by definition order.


Next: , Previous: , Up: Packages   [Contents][Index]

4.1 cl-conspack.asdf

Source

cl-conspack.asd.

Use List
  • asdf/interface.
  • common-lisp.

Previous: , Up: Packages   [Contents][Index]

4.2 conspack

Source

package.lisp.

Nickname

cpk

Use List
  • alexandria.
  • closer-common-lisp.
  • fast-io.
Public Interface
Internals

5 Definitions

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


Next: , Previous: , Up: Definitions   [Contents][Index]

5.1 Public Interface


Next: , Previous: , Up: Public Interface   [Contents][Index]

5.1.1 Special variables

Special Variable: *conspack-forward-refs*
Package

conspack.

Source

secure.lisp.

Special Variable: *conspack-max-bytes*
Package

conspack.

Source

secure.lisp.

Special Variable: *current-properties*
Package

conspack.

Source

decode.lisp.


5.1.2 Macros

Macro: alist-to-slots ((alist &key instance class) &body slot-names)

Set slots via ‘(SETF (SLOT-VALUE ...))‘ based on the values of the slots specified.

If ‘INSTANCE‘ is specified, slots are set on the provided value.

If ‘CLASS‘ is specified, trivially create an instance
via ‘(MAKE-INSTANCE ’CLASS)‘, quoted. If you need more complex initialization, specify ‘:INSTANCE‘ with your own ‘MAKE-INSTANCE‘.

You may not use both ‘:INSTANCE‘ and ‘:CLASS‘.

Package

conspack.

Source

tmap.lisp.

Macro: defencoding (class-name &body slot-names)

Trivially define ‘ENCODE-OBJECT‘ and ‘DECODE-OBJECT‘ to store and load the given slots.

Package

conspack.

Source

tmap.lisp.

Macro: define-index (name &rest values)
Package

conspack.

Source

indexes.lisp.

Macro: slots-to-alist ((instance) &body slot-names)

Produce an ‘ALIST‘ of slot-names-to-slot-values, suitable for ‘ENCODE-OBJECT‘.

Package

conspack.

Source

tmap.lisp.

Macro: tracking-refs (ref-context &body body)
Package

conspack.

Source

reftable.lisp.

Macro: with-conspack-security ((&key max-bytes forward-refs) &body body)
Package

conspack.

Source

secure.lisp.

Macro: with-index ((&rest values) &body body)
Package

conspack.

Source

indexes.lisp.

Macro: with-interning (() &body body)
Package

conspack.

Source

decode.lisp.

Macro: with-named-index (name &body body)
Package

conspack.

Source

indexes.lisp.

Macro: with-properties (() &body body)
Package

conspack.

Source

properties.lisp.

Macro: with-remote-refs (fun &body body)
Package

conspack.

Source

r-ref.lisp.


5.1.3 Ordinary functions

Function: clear-refs (&optional context)
Package

conspack.

Source

reftable.lisp.

Function: decode (byte-vector &optional offset)
Package

conspack.

Source

decode.lisp.

Function: decode-file (path)
Package

conspack.

Source

decode.lisp.

Function: decode-stream (stream &optional offset)
Package

conspack.

Source

decode.lisp.

Function: decode-value (buffer &optional header)
Package

conspack.

Source

decode.lisp.

Function: delete-index (name)
Package

conspack.

Source

indexes.lisp.

Function: encode (value &key stream)
Package

conspack.

Source

encode.lisp.

Function: encode-to-buffer (value fast-io-buffer)
Package

conspack.

Source

encode.lisp.

Function: encode-to-file (value filename)
Package

conspack.

Source

encode.lisp.

Function: explain (vector)
Package

conspack.

Source

explain.lisp.

Function: find-in-index (symbol-or-number &optional index)
Package

conspack.

Source

indexes.lisp.

Function: make-index (values &optional name)
Package

conspack.

Source

indexes.lisp.

Function: make-r-ref (&key value)
Package

conspack.

Source

r-ref.lisp.

Function: make-ref-context (&key max-id obj-to-id id-to-obj forward-refs noticed-objects written-objects encoded-objects)
Package

conspack.

Source

reftable.lisp.

Function: pointer (value &optional bit-width)
Package

conspack.

Source

encode.lisp.

Reader: pointer-value (instance)
Writer: (setf pointer-value) (instance)
Package

conspack.

Source

encode.lisp.

Target Slot

value.

Function: properties (object)
Package

conspack.

Source

properties.lisp.

Function: property (object tag &optional default)
Package

conspack.

Source

properties.lisp.

Function: (setf property) (object tag)
Package

conspack.

Source

properties.lisp.

Function: r-ref (value)
Package

conspack.

Source

r-ref.lisp.

Function: remove-properties (object)
Package

conspack.

Source

properties.lisp.

Function: remove-property (object tag)
Package

conspack.

Source

properties.lisp.


5.1.4 Generic functions

Generic Reader: conspack-error-reason (condition)
Package

conspack.

Methods
Reader Method: conspack-error-reason ((condition conspack-error))
Source

types.lisp.

Target Slot

reason.

Generic Reader: conspack-error-value (condition)
Package

conspack.

Methods
Reader Method: conspack-error-value ((condition conspack-error))
Source

types.lisp.

Target Slot

value.

Generic Function: decode-object (class alist &key &allow-other-keys)

Take the values in ‘ALIST‘ and recreate the object
of the given ‘CLASS‘. Methods should specialize on ‘CLASS (EQL symbol)‘.

Package

conspack.

Source

tmap.lisp.

Generic Function: encode-object (object &key &allow-other-keys)

Return an alist for ‘OBJECT‘ which will be used for
key-value pairs for a Typed Map (tmap). The class of ‘OBJECT‘ will be encoded along with these and used by ‘DECODE-OBJECT‘ to recreate the object.

Package

conspack.

Source

tmap.lisp.


5.1.5 Standalone methods

Method: make-load-form ((object symbol-index) &optional environment)
Source

indexes.lisp.

Method: print-object ((o pointer) s)
Source

encode.lisp.


5.1.6 Conditions

Condition: conspack-error
Package

conspack.

Source

types.lisp.

Direct superclasses

error.

Direct subclasses
Direct methods
Direct slots
Slot: value
Initargs

:value

Readers

conspack-error-value.

Writers

This slot is read-only.

Slot: reason
Initargs

:reason

Readers

conspack-error-reason.

Writers

This slot is read-only.

Condition: duplicate-id
Package

conspack.

Source

types.lisp.

Direct superclasses

conspack-error.

Direct methods
Direct slots
Slot: existing-value
Initargs

:existing-value

Readers

duplicate-ref-existing-value.

Writers

This slot is read-only.

Slot: new-value
Initargs

:new-value

Readers

duplicate-ref-new-value.

Writers

This slot is read-only.

Condition: invalid-header
Package

conspack.

Source

types.lisp.

Direct superclasses

conspack-error.

Condition: invalid-index
Package

conspack.

Source

types.lisp.

Direct superclasses

conspack-error.

Condition: invalid-package-name
Package

conspack.

Source

types.lisp.

Direct superclasses

conspack-error.

Condition: invalid-symbol-name
Package

conspack.

Source

types.lisp.

Direct superclasses

conspack-error.

Condition: invalid-symbol-package
Package

conspack.

Source

types.lisp.

Direct superclasses

conspack-error.

Condition: invalid-tmap-type
Package

conspack.

Source

types.lisp.

Direct superclasses

conspack-error.

Condition: unhandled-remote-reference
Package

conspack.

Source

types.lisp.

Direct superclasses

conspack-error.


Previous: , Up: Public Interface   [Contents][Index]

5.1.7 Structures

Structure: pointer
Package

conspack.

Source

encode.lisp.

Direct superclasses

structure-object.

Direct methods

print-object.

Direct slots
Slot: value
Initform

0

Readers

pointer-value.

Writers

(setf pointer-value).

Slot: bit-width
Readers

pointer-bit-width.

Writers

(setf pointer-bit-width).

Structure: r-ref
Package

conspack.

Source

r-ref.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: value
Readers

r-ref-value.

Writers

(setf r-ref-value).


5.2 Internals


Next: , Previous: , Up: Internals   [Contents][Index]

5.2.1 Constants

Constant: +boolean-header+
Package

conspack.

Source

headers.lisp.

Constant: +character-header+
Package

conspack.

Source

headers.lisp.

Constant: +complex+
Package

conspack.

Source

headers.lisp.

Constant: +cons-header+
Package

conspack.

Source

headers.lisp.

Constant: +container-fixed+
Package

conspack.

Source

headers.lisp.

Constant: +container-header+
Package

conspack.

Source

headers.lisp.

Constant: +container-list+
Package

conspack.

Source

headers.lisp.

Constant: +container-map+
Package

conspack.

Source

headers.lisp.

Constant: +container-tmap+
Package

conspack.

Source

headers.lisp.

Constant: +container-vector+
Package

conspack.

Source

headers.lisp.

Constant: +double-float+
Package

conspack.

Source

headers.lisp.

Constant: +index-header+
Package

conspack.

Source

headers.lisp.

Constant: +int128+
Package

conspack.

Source

headers.lisp.

Constant: +int16+
Package

conspack.

Source

headers.lisp.

Constant: +int32+
Package

conspack.

Source

headers.lisp.

Constant: +int64+
Package

conspack.

Source

headers.lisp.

Constant: +int8+
Package

conspack.

Source

headers.lisp.

Constant: +number-header+
Package

conspack.

Source

headers.lisp.

Constant: +package-header+
Package

conspack.

Source

headers.lisp.

Constant: +platform-bytes+
Package

conspack.

Source

secure.lisp.

Constant: +pointer-header+
Package

conspack.

Source

headers.lisp.

Constant: +properties-header+
Package

conspack.

Source

headers.lisp.

Constant: +r-ref-header+
Package

conspack.

Source

headers.lisp.

Constant: +rational+
Package

conspack.

Source

headers.lisp.

Constant: +ref-header+
Package

conspack.

Source

headers.lisp.

Constant: +reftag-inline+
Package

conspack.

Source

headers.lisp.

Constant: +single-float+
Package

conspack.

Source

headers.lisp.

Constant: +string-header+
Package

conspack.

Source

headers.lisp.

Constant: +symbol-header+
Package

conspack.

Source

headers.lisp.

Constant: +symbol-keyword+
Package

conspack.

Source

headers.lisp.

Constant: +tag-header+
Package

conspack.

Source

headers.lisp.

Constant: +uint128+
Package

conspack.

Source

headers.lisp.

Constant: +uint16+
Package

conspack.

Source

headers.lisp.

Constant: +uint32+
Package

conspack.

Source

headers.lisp.

Constant: +uint64+
Package

conspack.

Source

headers.lisp.

Constant: +uint8+
Package

conspack.

Source

headers.lisp.


Next: , Previous: , Up: Internals   [Contents][Index]

5.2.2 Special variables

Special Variable: *bytes-alloc*
Package

conspack.

Source

secure.lisp.

Special Variable: *conspack-security*
Package

conspack.

Source

secure.lisp.

Special Variable: *explain-eof*
Package

conspack.

Source

explain.lisp.

Special Variable: *index*
Package

conspack.

Source

indexes.lisp.

Special Variable: *indexes*
Package

conspack.

Source

indexes.lisp.

Special Variable: *intern-symbols*
Package

conspack.

Source

decode.lisp.

Special Variable: *properties*

Object => PLIST association for Properties. Setting a property and encoding will encode that property. Decoded properties will be included here as well.

Package

conspack.

Source

properties.lisp.

Special Variable: *ref-context*
Package

conspack.

Source

reftable.lisp.

Special Variable: *remote-ref-fun*
Package

conspack.

Source

r-ref.lisp.


5.2.3 Macros

Macro: explaining-errors (&body body)
Package

conspack.

Source

explain.lisp.


Next: , Previous: , Up: Internals   [Contents][Index]

5.2.4 Ordinary functions

Function: %encode (value buffer &optional fixed-header)
Package

conspack.

Source

encode.lisp.

Function: %make-symbol-index (&key sym->id id->sym)
Package

conspack.

Source

indexes.lisp.

Function: %properties-encode (value buffer)
Package

conspack.

Source

encode.lisp.

Function: add-forward-ref (id &optional context)
Package

conspack.

Source

reftable.lisp.

Function: add-ref (id object &optional context)
Package

conspack.

Source

reftable.lisp.

Function: aval (akey alist &key key test)

Get the value for key ‘KEY‘ in ‘ALIST‘

Package

conspack.

Source

util.lisp.

Function: bits-size-type (bits)
Package

conspack.

Source

headers.lisp.

Function: boolean-p (n)
Package

conspack.

Source

headers.lisp.

Function: character-header (c)
Package

conspack.

Source

headers.lisp.

Function: character-p (n)
Package

conspack.

Source

headers.lisp.

Function: cons-p (n)
Package

conspack.

Source

headers.lisp.

Function: container-fixed-p (n)
Package

conspack.

Source

headers.lisp.

Function: container-header (type fixed-p)
Package

conspack.

Source

headers.lisp.

Function: container-p (n)
Package

conspack.

Source

headers.lisp.

Function: container-precheck-bytes (len fixed-header)
Package

conspack.

Source

secure.lisp.

Function: container-type (type)
Package

conspack.

Source

headers.lisp.

Function: copy-forward-ref (instance)
Package

conspack.

Source

reftable.lisp.

Function: copy-pointer (instance)
Package

conspack.

Source

encode.lisp.

Function: copy-r-ref (instance)
Package

conspack.

Source

r-ref.lisp.

Function: copy-ref-context (instance)
Package

conspack.

Source

reftable.lisp.

Function: copy-symbol-index (instance)
Package

conspack.

Source

indexes.lisp.

Function: decode-boolean (header)
Package

conspack.

Source

decode.lisp.

Function: decode-character (header buffer)
Package

conspack.

Source

decode.lisp.

Function: decode-cons (header buffer)
Package

conspack.

Source

decode.lisp.

Function: decode-container (header buffer &optional len)
Package

conspack.

Source

decode.lisp.

Function: decode-container-type (header)
Package

conspack.

Source

headers.lisp.

Function: decode-header (h)
Package

conspack.

Source

headers.lisp.

Function: decode-index (header buffer)
Package

conspack.

Source

decode.lisp.

Function: decode-list (header buffer &optional len)
Package

conspack.

Source

decode.lisp.

Function: decode-map (header buffer &optional len)
Package

conspack.

Source

decode.lisp.

Function: decode-number (header buffer)
Package

conspack.

Source

decode.lisp.

Function: decode-number-header (h)
Package

conspack.

Source

headers.lisp.

Function: decode-package (header buffer)
Package

conspack.

Source

decode.lisp.

Function: decode-pointer (header buffer &optional len)
Package

conspack.

Source

decode.lisp.

Function: decode-properties (header buffer)
Package

conspack.

Source

decode.lisp.

Function: decode-r-ref (header buffer)
Package

conspack.

Source

decode.lisp.

Function: decode-ref (header buffer)
Package

conspack.

Source

decode.lisp.

Function: decode-ref-id (header buffer)
Package

conspack.

Source

decode.lisp.

Function: decode-size (bytes buffer)
Package

conspack.

Source

decode.lisp.

Function: decode-string (header buffer &optional len)
Package

conspack.

Source

decode.lisp.

Function: decode-symbol (header buffer)
Package

conspack.

Source

decode.lisp.

Function: decode-tag (header buffer)
Package

conspack.

Source

decode.lisp.

Function: decode-tmap (header buffer &optional len)
Package

conspack.

Source

decode.lisp.

Function: decode-value-or-fref (buffer type ref datum &optional header)
Package

conspack.

Source

decode.lisp.

Function: decode-vector (header buffer &optional len)
Package

conspack.

Source

decode.lisp.

Function: encode-boolean (value buffer &optional fixed-header)
Package

conspack.

Source

encode.lisp.

Function: encode-character (value buffer &optional fixed-header)
Package

conspack.

Source

encode.lisp.

Function: encode-cons (value buffer &optional fixed-header)
Package

conspack.

Source

encode.lisp.

Function: encode-hash (value buffer &optional fixed-header fixed-type)
Package

conspack.

Source

encode.lisp.

Function: encode-header (header-byte buffer &optional fixed-header size-value size-type)

Combine ‘VALUES‘ with LOGIOR and write.

Package

conspack.

Source

encode.lisp.

Function: encode-index (value buffer &optional fixed-header)
Package

conspack.

Source

encode.lisp.

Function: encode-length (size-type len buffer)
Package

conspack.

Source

encode.lisp.

Function: encode-list (value buffer &optional fixed-header fixed-type)
Package

conspack.

Source

encode.lisp.

Function: encode-number (value buffer &optional fixed-header)
Package

conspack.

Source

encode.lisp.

Function: encode-package (value buffer &optional fixed-header)
Package

conspack.

Source

encode.lisp.

Function: encode-pointer (value buffer &optional fixed-header)
Package

conspack.

Source

encode.lisp.

Function: encode-properties (value buffer)
Package

conspack.

Source

encode.lisp.

Function: encode-r-ref (value buffer &optional fixed-header)
Package

conspack.

Source

encode.lisp.

Function: encode-ref (value buffer &optional fixed-header)
Package

conspack.

Source

encode.lisp.

Function: encode-ref-or-value (value buffer &optional fixed-header)
Package

conspack.

Source

encode.lisp.

Function: encode-sequence (value buffer &optional fixed-header fixed-type)
Package

conspack.

Source

encode.lisp.

Function: encode-string (value buffer &optional fixed-header)
Package

conspack.

Source

encode.lisp.

Function: encode-symbol (value buffer &optional fixed-header)
Package

conspack.

Source

encode.lisp.

Function: encode-tag (value buffer &optional fixed-header)
Package

conspack.

Source

encode.lisp.

Function: encode-tmap (value buffer &optional fixed-header)
Package

conspack.

Source

encode.lisp.

Function: encode-vector (value buffer &optional fixed-header fixed-type)
Package

conspack.

Source

encode.lisp.

Function: explain-buffer (buffer &optional n fixed-header)

This will try and find and interpret as many bytes as possible, up to ‘N‘ objects, or until end-of-file, if ‘N‘ is ‘nil‘.

Package

conspack.

Source

explain.lisp.

Function: explain-container (buffer header)
Package

conspack.

Source

explain.lisp.

Function: find-fixed-type (type)
Package

conspack.

Source

headers.lisp.

Function: find-index (name)
Package

conspack.

Source

indexes.lisp.

Reader: forward-ref-datum (instance)
Writer: (setf forward-ref-datum) (instance)
Package

conspack.

Source

reftable.lisp.

Target Slot

datum.

Function: forward-ref-p (object)
Package

conspack.

Source

reftable.lisp.

Reader: forward-ref-ref (instance)
Writer: (setf forward-ref-ref) (instance)
Package

conspack.

Source

reftable.lisp.

Target Slot

ref.

Reader: forward-ref-type (instance)
Writer: (setf forward-ref-type) (instance)
Package

conspack.

Source

reftable.lisp.

Target Slot

type.

Function: get-ref (id &optional context)
Package

conspack.

Source

reftable.lisp.

Function: get-ref-id (object &optional context)
Package

conspack.

Source

reftable.lisp.

Function: index-p (n)
Package

conspack.

Source

headers.lisp.

Function: keyword-p (n)
Package

conspack.

Source

headers.lisp.

Function: len-size-type (len)
Package

conspack.

Source

headers.lisp.

Function: list-length-with-refs (list &optional context)
Package

conspack.

Source

reftable.lisp.

Function: make-forward-ref (&key type ref datum)
Package

conspack.

Source

reftable.lisp.

Function: make-pointer (&key value bit-width)
Package

conspack.

Source

encode.lisp.

Function: make-symbol-index (len)
Package

conspack.

Source

indexes.lisp.

Function: notice-object (object &optional context)
Package

conspack.

Source

reftable.lisp.

Function: notice-recursively (object &optional context)
Package

conspack.

Source

reftable.lisp.

Function: noticed-p (object &optional context)
Package

conspack.

Source

reftable.lisp.

Function: number-header (type)
Package

conspack.

Source

headers.lisp.

Function: number-p (n)
Package

conspack.

Source

headers.lisp.

Function: number-size (h)
Package

conspack.

Source

headers.lisp.

Function: number-type (number)

Find the closest/smallest encoding type for NUMBER.

Package

conspack.

Source

headers.lisp.

Function: number-type-to-lisp (type)

Find the lisp type (e.g., SINGLE-FLOAT) for a specified number type (e.g., :SINGLE-FLOAT). The inverse of NUMBER-TYPE.

Package

conspack.

Source

headers.lisp.

Function: package-p (n)
Package

conspack.

Source

headers.lisp.

Reader: pointer-bit-width (instance)
Writer: (setf pointer-bit-width) (instance)
Package

conspack.

Source

encode.lisp.

Target Slot

bit-width.

Function: pointer-header-p (n)
Package

conspack.

Source

headers.lisp.

Function: pointer-p (object)
Package

conspack.

Source

encode.lisp.

Function: precheck-bytes (n &optional times)
Package

conspack.

Source

secure.lisp.

Function: properties-p (n)
Package

conspack.

Source

headers.lisp.

Function: r-ref-p (object)
Package

conspack.

Source

r-ref.lisp.

Reader: r-ref-value (instance)
Writer: (setf r-ref-value) (instance)
Package

conspack.

Source

r-ref.lisp.

Target Slot

value.

Reader: ref-context-encoded-objects (instance)
Writer: (setf ref-context-encoded-objects) (instance)
Package

conspack.

Source

reftable.lisp.

Target Slot

encoded-objects.

Reader: ref-context-forward-refs (instance)
Writer: (setf ref-context-forward-refs) (instance)
Package

conspack.

Source

reftable.lisp.

Target Slot

forward-refs.

Reader: ref-context-id-to-obj (instance)
Writer: (setf ref-context-id-to-obj) (instance)
Package

conspack.

Source

reftable.lisp.

Target Slot

id-to-obj.

Reader: ref-context-max-id (instance)
Writer: (setf ref-context-max-id) (instance)
Package

conspack.

Source

reftable.lisp.

Target Slot

max-id.

Reader: ref-context-noticed-objects (instance)
Writer: (setf ref-context-noticed-objects) (instance)
Package

conspack.

Source

reftable.lisp.

Target Slot

noticed-objects.

Reader: ref-context-obj-to-id (instance)
Writer: (setf ref-context-obj-to-id) (instance)
Package

conspack.

Source

reftable.lisp.

Target Slot

obj-to-id.

Function: ref-context-p (object)
Package

conspack.

Source

reftable.lisp.

Reader: ref-context-written-objects (instance)
Writer: (setf ref-context-written-objects) (instance)
Package

conspack.

Source

reftable.lisp.

Target Slot

written-objects.

Function: ref-p (n)
Package

conspack.

Source

headers.lisp.

Function: referrable-p (object)
Package

conspack.

Source

reftable.lisp.

Function: remote-ref-p (n)
Package

conspack.

Source

headers.lisp.

Function: replace-forward-ref (forward-ref object)
Package

conspack.

Source

reftable.lisp.

Function: replace-forward-refs (id object &optional context)
Package

conspack.

Source

reftable.lisp.

Function: size-bytes (header)
Package

conspack.

Source

headers.lisp.

Function: size-type (header)
Package

conspack.

Source

headers.lisp.

Function: string-p (n)
Package

conspack.

Source

headers.lisp.

Function: symbol-header (value)
Package

conspack.

Source

headers.lisp.

Reader: symbol-index-id->sym (instance)
Writer: (setf symbol-index-id->sym) (instance)
Package

conspack.

Source

indexes.lisp.

Target Slot

id->sym.

Function: symbol-index-p (object)
Package

conspack.

Source

indexes.lisp.

Reader: symbol-index-sym->id (instance)
Writer: (setf symbol-index-sym->id) (instance)
Package

conspack.

Source

indexes.lisp.

Target Slot

sym->id.

Function: symbol-p (n)
Package

conspack.

Source

headers.lisp.

Function: tag-inline-p (n)
Package

conspack.

Source

headers.lisp.

Function: tag-object (object &optional context)
Package

conspack.

Source

reftable.lisp.

Function: tag-p (n)
Package

conspack.

Source

headers.lisp.

Function: tracking-refs-p ()
Package

conspack.

Source

reftable.lisp.

Function: trivial-p (object)
Package

conspack.

Source

reftable.lisp.

Function: type-header (type)
Package

conspack.

Source

headers.lisp.

Function: use-bytes (n &optional times)
Package

conspack.

Source

secure.lisp.

Function: written-p (object &optional context)
Package

conspack.

Source

reftable.lisp.

Function: wrote (object &optional context)
Package

conspack.

Source

reftable.lisp.


Next: , Previous: , Up: Internals   [Contents][Index]

5.2.5 Generic functions

Generic Reader: duplicate-ref-existing-value (condition)
Package

conspack.

Methods
Reader Method: duplicate-ref-existing-value ((condition duplicate-id))
Source

types.lisp.

Target Slot

existing-value.

Generic Reader: duplicate-ref-new-value (condition)
Package

conspack.

Methods
Reader Method: duplicate-ref-new-value ((condition duplicate-id))
Source

types.lisp.

Target Slot

new-value.


Next: , Previous: , Up: Internals   [Contents][Index]

5.2.6 Conditions

Condition: invalid-forward-ref
Package

conspack.

Source

types.lisp.

Direct superclasses

security-error.

Condition: invalid-size
Package

conspack.

Source

types.lisp.

Direct superclasses

conspack-error.

Condition: max-size-exceeded
Package

conspack.

Source

types.lisp.

Direct superclasses

security-error.

Condition: security-error
Package

conspack.

Source

types.lisp.

Direct superclasses

conspack-error.

Direct subclasses

Next: , Previous: , Up: Internals   [Contents][Index]

5.2.7 Structures

Structure: forward-ref
Package

conspack.

Source

reftable.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: type
Package

common-lisp.

Type

symbol

Readers

forward-ref-type.

Writers

(setf forward-ref-type).

Slot: ref
Readers

forward-ref-ref.

Writers

(setf forward-ref-ref).

Slot: datum
Readers

forward-ref-datum.

Writers

(setf forward-ref-datum).

Structure: ref-context
Package

conspack.

Source

reftable.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: max-id
Type

(unsigned-byte 32)

Initform

0

Readers

ref-context-max-id.

Writers

(setf ref-context-max-id).

Slot: obj-to-id
Initform

(make-hash-table)

Readers

ref-context-obj-to-id.

Writers

(setf ref-context-obj-to-id).

Slot: id-to-obj
Initform

(make-hash-table)

Readers

ref-context-id-to-obj.

Writers

(setf ref-context-id-to-obj).

Slot: forward-refs
Initform

(make-hash-table)

Readers

ref-context-forward-refs.

Writers

(setf ref-context-forward-refs).

Slot: noticed-objects
Initform

(make-hash-table)

Readers

ref-context-noticed-objects.

Writers

(setf ref-context-noticed-objects).

Slot: written-objects
Initform

(make-hash-table)

Readers

ref-context-written-objects.

Writers

(setf ref-context-written-objects).

Slot: encoded-objects
Initform

(make-hash-table)

Readers

ref-context-encoded-objects.

Writers

(setf ref-context-encoded-objects).

Structure: symbol-index
Package

conspack.

Source

indexes.lisp.

Direct superclasses

structure-object.

Direct methods

make-load-form.

Direct slots
Slot: sym->id
Type

hash-table

Readers

symbol-index-sym->id.

Writers

(setf symbol-index-sym->id).

Slot: id->sym
Type

vector

Readers

symbol-index-id->sym.

Writers

(setf symbol-index-id->sym).


Previous: , Up: Internals   [Contents][Index]

5.2.8 Types

Type: header ()
Package

conspack.

Source

types.lisp.

Type: header-decode-fun ()
Package

conspack.

Source

types.lisp.

Type: header-test-fun ()
Package

conspack.

Source

types.lisp.


Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts


Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   %   (  
A   B   C   D   E   F   G   I   K   L   M   N   P   R   S   T   U   W  
Index Entry  Section

%
%encode: Private ordinary functions
%make-symbol-index: Private ordinary functions
%properties-encode: Private ordinary functions

(
(setf forward-ref-datum): Private ordinary functions
(setf forward-ref-ref): Private ordinary functions
(setf forward-ref-type): Private ordinary functions
(setf pointer-bit-width): Private ordinary functions
(setf pointer-value): Public ordinary functions
(setf property): Public ordinary functions
(setf r-ref-value): Private ordinary functions
(setf ref-context-encoded-objects): Private ordinary functions
(setf ref-context-forward-refs): Private ordinary functions
(setf ref-context-id-to-obj): Private ordinary functions
(setf ref-context-max-id): Private ordinary functions
(setf ref-context-noticed-objects): Private ordinary functions
(setf ref-context-obj-to-id): Private ordinary functions
(setf ref-context-written-objects): Private ordinary functions
(setf symbol-index-id->sym): Private ordinary functions
(setf symbol-index-sym->id): Private ordinary functions

A
add-forward-ref: Private ordinary functions
add-ref: Private ordinary functions
alist-to-slots: Public macros
aval: Private ordinary functions

B
bits-size-type: Private ordinary functions
boolean-p: Private ordinary functions

C
character-header: Private ordinary functions
character-p: Private ordinary functions
clear-refs: Public ordinary functions
cons-p: Private ordinary functions
conspack-error-reason: Public generic functions
conspack-error-reason: Public generic functions
conspack-error-value: Public generic functions
conspack-error-value: Public generic functions
container-fixed-p: Private ordinary functions
container-header: Private ordinary functions
container-p: Private ordinary functions
container-precheck-bytes: Private ordinary functions
container-type: Private ordinary functions
copy-forward-ref: Private ordinary functions
copy-pointer: Private ordinary functions
copy-r-ref: Private ordinary functions
copy-ref-context: Private ordinary functions
copy-symbol-index: Private ordinary functions

D
decode: Public ordinary functions
decode-boolean: Private ordinary functions
decode-character: Private ordinary functions
decode-cons: Private ordinary functions
decode-container: Private ordinary functions
decode-container-type: Private ordinary functions
decode-file: Public ordinary functions
decode-header: Private ordinary functions
decode-index: Private ordinary functions
decode-list: Private ordinary functions
decode-map: Private ordinary functions
decode-number: Private ordinary functions
decode-number-header: Private ordinary functions
decode-object: Public generic functions
decode-package: Private ordinary functions
decode-pointer: Private ordinary functions
decode-properties: Private ordinary functions
decode-r-ref: Private ordinary functions
decode-ref: Private ordinary functions
decode-ref-id: Private ordinary functions
decode-size: Private ordinary functions
decode-stream: Public ordinary functions
decode-string: Private ordinary functions
decode-symbol: Private ordinary functions
decode-tag: Private ordinary functions
decode-tmap: Private ordinary functions
decode-value: Public ordinary functions
decode-value-or-fref: Private ordinary functions
decode-vector: Private ordinary functions
defencoding: Public macros
define-index: Public macros
delete-index: Public ordinary functions
duplicate-ref-existing-value: Private generic functions
duplicate-ref-existing-value: Private generic functions
duplicate-ref-new-value: Private generic functions
duplicate-ref-new-value: Private generic functions

E
encode: Public ordinary functions
encode-boolean: Private ordinary functions
encode-character: Private ordinary functions
encode-cons: Private ordinary functions
encode-hash: Private ordinary functions
encode-header: Private ordinary functions
encode-index: Private ordinary functions
encode-length: Private ordinary functions
encode-list: Private ordinary functions
encode-number: Private ordinary functions
encode-object: Public generic functions
encode-package: Private ordinary functions
encode-pointer: Private ordinary functions
encode-properties: Private ordinary functions
encode-r-ref: Private ordinary functions
encode-ref: Private ordinary functions
encode-ref-or-value: Private ordinary functions
encode-sequence: Private ordinary functions
encode-string: Private ordinary functions
encode-symbol: Private ordinary functions
encode-tag: Private ordinary functions
encode-tmap: Private ordinary functions
encode-to-buffer: Public ordinary functions
encode-to-file: Public ordinary functions
encode-vector: Private ordinary functions
explain: Public ordinary functions
explain-buffer: Private ordinary functions
explain-container: Private ordinary functions
explaining-errors: Private macros

F
find-fixed-type: Private ordinary functions
find-in-index: Public ordinary functions
find-index: Private ordinary functions
forward-ref-datum: Private ordinary functions
forward-ref-p: Private ordinary functions
forward-ref-ref: Private ordinary functions
forward-ref-type: Private ordinary functions
Function, %encode: Private ordinary functions
Function, %make-symbol-index: Private ordinary functions
Function, %properties-encode: Private ordinary functions
Function, (setf forward-ref-datum): Private ordinary functions
Function, (setf forward-ref-ref): Private ordinary functions
Function, (setf forward-ref-type): Private ordinary functions
Function, (setf pointer-bit-width): Private ordinary functions
Function, (setf pointer-value): Public ordinary functions
Function, (setf property): Public ordinary functions
Function, (setf r-ref-value): Private ordinary functions
Function, (setf ref-context-encoded-objects): Private ordinary functions
Function, (setf ref-context-forward-refs): Private ordinary functions
Function, (setf ref-context-id-to-obj): Private ordinary functions
Function, (setf ref-context-max-id): Private ordinary functions
Function, (setf ref-context-noticed-objects): Private ordinary functions
Function, (setf ref-context-obj-to-id): Private ordinary functions
Function, (setf ref-context-written-objects): Private ordinary functions
Function, (setf symbol-index-id->sym): Private ordinary functions
Function, (setf symbol-index-sym->id): Private ordinary functions
Function, add-forward-ref: Private ordinary functions
Function, add-ref: Private ordinary functions
Function, aval: Private ordinary functions
Function, bits-size-type: Private ordinary functions
Function, boolean-p: Private ordinary functions
Function, character-header: Private ordinary functions
Function, character-p: Private ordinary functions
Function, clear-refs: Public ordinary functions
Function, cons-p: Private ordinary functions
Function, container-fixed-p: Private ordinary functions
Function, container-header: Private ordinary functions
Function, container-p: Private ordinary functions
Function, container-precheck-bytes: Private ordinary functions
Function, container-type: Private ordinary functions
Function, copy-forward-ref: Private ordinary functions
Function, copy-pointer: Private ordinary functions
Function, copy-r-ref: Private ordinary functions
Function, copy-ref-context: Private ordinary functions
Function, copy-symbol-index: Private ordinary functions
Function, decode: Public ordinary functions
Function, decode-boolean: Private ordinary functions
Function, decode-character: Private ordinary functions
Function, decode-cons: Private ordinary functions
Function, decode-container: Private ordinary functions
Function, decode-container-type: Private ordinary functions
Function, decode-file: Public ordinary functions
Function, decode-header: Private ordinary functions
Function, decode-index: Private ordinary functions
Function, decode-list: Private ordinary functions
Function, decode-map: Private ordinary functions
Function, decode-number: Private ordinary functions
Function, decode-number-header: Private ordinary functions
Function, decode-package: Private ordinary functions
Function, decode-pointer: Private ordinary functions
Function, decode-properties: Private ordinary functions
Function, decode-r-ref: Private ordinary functions
Function, decode-ref: Private ordinary functions
Function, decode-ref-id: Private ordinary functions
Function, decode-size: Private ordinary functions
Function, decode-stream: Public ordinary functions
Function, decode-string: Private ordinary functions
Function, decode-symbol: Private ordinary functions
Function, decode-tag: Private ordinary functions
Function, decode-tmap: Private ordinary functions
Function, decode-value: Public ordinary functions
Function, decode-value-or-fref: Private ordinary functions
Function, decode-vector: Private ordinary functions
Function, delete-index: Public ordinary functions
Function, encode: Public ordinary functions
Function, encode-boolean: Private ordinary functions
Function, encode-character: Private ordinary functions
Function, encode-cons: Private ordinary functions
Function, encode-hash: Private ordinary functions
Function, encode-header: Private ordinary functions
Function, encode-index: Private ordinary functions
Function, encode-length: Private ordinary functions
Function, encode-list: Private ordinary functions
Function, encode-number: Private ordinary functions
Function, encode-package: Private ordinary functions
Function, encode-pointer: Private ordinary functions
Function, encode-properties: Private ordinary functions
Function, encode-r-ref: Private ordinary functions
Function, encode-ref: Private ordinary functions
Function, encode-ref-or-value: Private ordinary functions
Function, encode-sequence: Private ordinary functions
Function, encode-string: Private ordinary functions
Function, encode-symbol: Private ordinary functions
Function, encode-tag: Private ordinary functions
Function, encode-tmap: Private ordinary functions
Function, encode-to-buffer: Public ordinary functions
Function, encode-to-file: Public ordinary functions
Function, encode-vector: Private ordinary functions
Function, explain: Public ordinary functions
Function, explain-buffer: Private ordinary functions
Function, explain-container: Private ordinary functions
Function, find-fixed-type: Private ordinary functions
Function, find-in-index: Public ordinary functions
Function, find-index: Private ordinary functions
Function, forward-ref-datum: Private ordinary functions
Function, forward-ref-p: Private ordinary functions
Function, forward-ref-ref: Private ordinary functions
Function, forward-ref-type: Private ordinary functions
Function, get-ref: Private ordinary functions
Function, get-ref-id: Private ordinary functions
Function, index-p: Private ordinary functions
Function, keyword-p: Private ordinary functions
Function, len-size-type: Private ordinary functions
Function, list-length-with-refs: Private ordinary functions
Function, make-forward-ref: Private ordinary functions
Function, make-index: Public ordinary functions
Function, make-pointer: Private ordinary functions
Function, make-r-ref: Public ordinary functions
Function, make-ref-context: Public ordinary functions
Function, make-symbol-index: Private ordinary functions
Function, notice-object: Private ordinary functions
Function, notice-recursively: Private ordinary functions
Function, noticed-p: Private ordinary functions
Function, number-header: Private ordinary functions
Function, number-p: Private ordinary functions
Function, number-size: Private ordinary functions
Function, number-type: Private ordinary functions
Function, number-type-to-lisp: Private ordinary functions
Function, package-p: Private ordinary functions
Function, pointer: Public ordinary functions
Function, pointer-bit-width: Private ordinary functions
Function, pointer-header-p: Private ordinary functions
Function, pointer-p: Private ordinary functions
Function, pointer-value: Public ordinary functions
Function, precheck-bytes: Private ordinary functions
Function, properties: Public ordinary functions
Function, properties-p: Private ordinary functions
Function, property: Public ordinary functions
Function, r-ref: Public ordinary functions
Function, r-ref-p: Private ordinary functions
Function, r-ref-value: Private ordinary functions
Function, ref-context-encoded-objects: Private ordinary functions
Function, ref-context-forward-refs: Private ordinary functions
Function, ref-context-id-to-obj: Private ordinary functions
Function, ref-context-max-id: Private ordinary functions
Function, ref-context-noticed-objects: Private ordinary functions
Function, ref-context-obj-to-id: Private ordinary functions
Function, ref-context-p: Private ordinary functions
Function, ref-context-written-objects: Private ordinary functions
Function, ref-p: Private ordinary functions
Function, referrable-p: Private ordinary functions
Function, remote-ref-p: Private ordinary functions
Function, remove-properties: Public ordinary functions
Function, remove-property: Public ordinary functions
Function, replace-forward-ref: Private ordinary functions
Function, replace-forward-refs: Private ordinary functions
Function, size-bytes: Private ordinary functions
Function, size-type: Private ordinary functions
Function, string-p: Private ordinary functions
Function, symbol-header: Private ordinary functions
Function, symbol-index-id->sym: Private ordinary functions
Function, symbol-index-p: Private ordinary functions
Function, symbol-index-sym->id: Private ordinary functions
Function, symbol-p: Private ordinary functions
Function, tag-inline-p: Private ordinary functions
Function, tag-object: Private ordinary functions
Function, tag-p: Private ordinary functions
Function, tracking-refs-p: Private ordinary functions
Function, trivial-p: Private ordinary functions
Function, type-header: Private ordinary functions
Function, use-bytes: Private ordinary functions
Function, written-p: Private ordinary functions
Function, wrote: Private ordinary functions

G
Generic Function, conspack-error-reason: Public generic functions
Generic Function, conspack-error-value: Public generic functions
Generic Function, decode-object: Public generic functions
Generic Function, duplicate-ref-existing-value: Private generic functions
Generic Function, duplicate-ref-new-value: Private generic functions
Generic Function, encode-object: Public generic functions
get-ref: Private ordinary functions
get-ref-id: Private ordinary functions

I
index-p: Private ordinary functions

K
keyword-p: Private ordinary functions

L
len-size-type: Private ordinary functions
list-length-with-refs: Private ordinary functions

M
Macro, alist-to-slots: Public macros
Macro, defencoding: Public macros
Macro, define-index: Public macros
Macro, explaining-errors: Private macros
Macro, slots-to-alist: Public macros
Macro, tracking-refs: Public macros
Macro, with-conspack-security: Public macros
Macro, with-index: Public macros
Macro, with-interning: Public macros
Macro, with-named-index: Public macros
Macro, with-properties: Public macros
Macro, with-remote-refs: Public macros
make-forward-ref: Private ordinary functions
make-index: Public ordinary functions
make-load-form: Public standalone methods
make-pointer: Private ordinary functions
make-r-ref: Public ordinary functions
make-ref-context: Public ordinary functions
make-symbol-index: Private ordinary functions
Method, conspack-error-reason: Public generic functions
Method, conspack-error-value: Public generic functions
Method, duplicate-ref-existing-value: Private generic functions
Method, duplicate-ref-new-value: Private generic functions
Method, make-load-form: Public standalone methods
Method, print-object: Public standalone methods

N
notice-object: Private ordinary functions
notice-recursively: Private ordinary functions
noticed-p: Private ordinary functions
number-header: Private ordinary functions
number-p: Private ordinary functions
number-size: Private ordinary functions
number-type: Private ordinary functions
number-type-to-lisp: Private ordinary functions

P
package-p: Private ordinary functions
pointer: Public ordinary functions
pointer-bit-width: Private ordinary functions
pointer-header-p: Private ordinary functions
pointer-p: Private ordinary functions
pointer-value: Public ordinary functions
precheck-bytes: Private ordinary functions
print-object: Public standalone methods
properties: Public ordinary functions
properties-p: Private ordinary functions
property: Public ordinary functions

R
r-ref: Public ordinary functions
r-ref-p: Private ordinary functions
r-ref-value: Private ordinary functions
ref-context-encoded-objects: Private ordinary functions
ref-context-forward-refs: Private ordinary functions
ref-context-id-to-obj: Private ordinary functions
ref-context-max-id: Private ordinary functions
ref-context-noticed-objects: Private ordinary functions
ref-context-obj-to-id: Private ordinary functions
ref-context-p: Private ordinary functions
ref-context-written-objects: Private ordinary functions
ref-p: Private ordinary functions
referrable-p: Private ordinary functions
remote-ref-p: Private ordinary functions
remove-properties: Public ordinary functions
remove-property: Public ordinary functions
replace-forward-ref: Private ordinary functions
replace-forward-refs: Private ordinary functions

S
size-bytes: Private ordinary functions
size-type: Private ordinary functions
slots-to-alist: Public macros
string-p: Private ordinary functions
symbol-header: Private ordinary functions
symbol-index-id->sym: Private ordinary functions
symbol-index-p: Private ordinary functions
symbol-index-sym->id: Private ordinary functions
symbol-p: Private ordinary functions

T
tag-inline-p: Private ordinary functions
tag-object: Private ordinary functions
tag-p: Private ordinary functions
tracking-refs: Public macros
tracking-refs-p: Private ordinary functions
trivial-p: Private ordinary functions
type-header: Private ordinary functions

U
use-bytes: Private ordinary functions

W
with-conspack-security: Public macros
with-index: Public macros
with-interning: Public macros
with-named-index: Public macros
with-properties: Public macros
with-remote-refs: Public macros
written-p: Private ordinary functions
wrote: Private ordinary functions

Jump to:   %   (  
A   B   C   D   E   F   G   I   K   L   M   N   P   R   S   T   U   W  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables

Jump to:   *   +  
B   C   D   E   F   I   M   N   O   R   S   T   V   W  
Index Entry  Section

*
*bytes-alloc*: Private special variables
*conspack-forward-refs*: Public special variables
*conspack-max-bytes*: Public special variables
*conspack-security*: Private special variables
*current-properties*: Public special variables
*explain-eof*: Private special variables
*index*: Private special variables
*indexes*: Private special variables
*intern-symbols*: Private special variables
*properties*: Private special variables
*ref-context*: Private special variables
*remote-ref-fun*: Private special variables

+
+boolean-header+: Private constants
+character-header+: Private constants
+complex+: Private constants
+cons-header+: Private constants
+container-fixed+: Private constants
+container-header+: Private constants
+container-list+: Private constants
+container-map+: Private constants
+container-tmap+: Private constants
+container-vector+: Private constants
+double-float+: Private constants
+index-header+: Private constants
+int128+: Private constants
+int16+: Private constants
+int32+: Private constants
+int64+: Private constants
+int8+: Private constants
+number-header+: Private constants
+package-header+: Private constants
+platform-bytes+: Private constants
+pointer-header+: Private constants
+properties-header+: Private constants
+r-ref-header+: Private constants
+rational+: Private constants
+ref-header+: Private constants
+reftag-inline+: Private constants
+single-float+: Private constants
+string-header+: Private constants
+symbol-header+: Private constants
+symbol-keyword+: Private constants
+tag-header+: Private constants
+uint128+: Private constants
+uint16+: Private constants
+uint32+: Private constants
+uint64+: Private constants
+uint8+: Private constants

B
bit-width: Public structures

C
Constant, +boolean-header+: Private constants
Constant, +character-header+: Private constants
Constant, +complex+: Private constants
Constant, +cons-header+: Private constants
Constant, +container-fixed+: Private constants
Constant, +container-header+: Private constants
Constant, +container-list+: Private constants
Constant, +container-map+: Private constants
Constant, +container-tmap+: Private constants
Constant, +container-vector+: Private constants
Constant, +double-float+: Private constants
Constant, +index-header+: Private constants
Constant, +int128+: Private constants
Constant, +int16+: Private constants
Constant, +int32+: Private constants
Constant, +int64+: Private constants
Constant, +int8+: Private constants
Constant, +number-header+: Private constants
Constant, +package-header+: Private constants
Constant, +platform-bytes+: Private constants
Constant, +pointer-header+: Private constants
Constant, +properties-header+: Private constants
Constant, +r-ref-header+: Private constants
Constant, +rational+: Private constants
Constant, +ref-header+: Private constants
Constant, +reftag-inline+: Private constants
Constant, +single-float+: Private constants
Constant, +string-header+: Private constants
Constant, +symbol-header+: Private constants
Constant, +symbol-keyword+: Private constants
Constant, +tag-header+: Private constants
Constant, +uint128+: Private constants
Constant, +uint16+: Private constants
Constant, +uint32+: Private constants
Constant, +uint64+: Private constants
Constant, +uint8+: Private constants

D
datum: Private structures

E
encoded-objects: Private structures
existing-value: Public conditions

F
forward-refs: Private structures

I
id->sym: Private structures
id-to-obj: Private structures

M
max-id: Private structures

N
new-value: Public conditions
noticed-objects: Private structures

O
obj-to-id: Private structures

R
reason: Public conditions
ref: Private structures

S
Slot, bit-width: Public structures
Slot, datum: Private structures
Slot, encoded-objects: Private structures
Slot, existing-value: Public conditions
Slot, forward-refs: Private structures
Slot, id->sym: Private structures
Slot, id-to-obj: Private structures
Slot, max-id: Private structures
Slot, new-value: Public conditions
Slot, noticed-objects: Private structures
Slot, obj-to-id: Private structures
Slot, reason: Public conditions
Slot, ref: Private structures
Slot, sym->id: Private structures
Slot, type: Private structures
Slot, value: Public conditions
Slot, value: Public structures
Slot, value: Public structures
Slot, written-objects: Private structures
Special Variable, *bytes-alloc*: Private special variables
Special Variable, *conspack-forward-refs*: Public special variables
Special Variable, *conspack-max-bytes*: Public special variables
Special Variable, *conspack-security*: Private special variables
Special Variable, *current-properties*: Public special variables
Special Variable, *explain-eof*: Private special variables
Special Variable, *index*: Private special variables
Special Variable, *indexes*: Private special variables
Special Variable, *intern-symbols*: Private special variables
Special Variable, *properties*: Private special variables
Special Variable, *ref-context*: Private special variables
Special Variable, *remote-ref-fun*: Private special variables
sym->id: Private structures

T
type: Private structures

V
value: Public conditions
value: Public structures
value: Public structures

W
written-objects: Private structures

Jump to:   *   +  
B   C   D   E   F   I   M   N   O   R   S   T   V   W  

Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   C   D   E   F   H   I   M   P   R   S   T   U  
Index Entry  Section

C
cl-conspack: The cl-conspack system
cl-conspack.asd: The cl-conspack/cl-conspack․asd file
cl-conspack.asdf: The cl-conspack․asdf package
Condition, conspack-error: Public conditions
Condition, duplicate-id: Public conditions
Condition, invalid-forward-ref: Private conditions
Condition, invalid-header: Public conditions
Condition, invalid-index: Public conditions
Condition, invalid-package-name: Public conditions
Condition, invalid-size: Private conditions
Condition, invalid-symbol-name: Public conditions
Condition, invalid-symbol-package: Public conditions
Condition, invalid-tmap-type: Public conditions
Condition, max-size-exceeded: Private conditions
Condition, security-error: Private conditions
Condition, unhandled-remote-reference: Public conditions
conspack: The conspack package
conspack-error: Public conditions

D
decode.lisp: The cl-conspack/decode․lisp file
duplicate-id: Public conditions

E
encode.lisp: The cl-conspack/encode․lisp file
explain.lisp: The cl-conspack/explain․lisp file

F
File, cl-conspack.asd: The cl-conspack/cl-conspack․asd file
File, decode.lisp: The cl-conspack/decode․lisp file
File, encode.lisp: The cl-conspack/encode․lisp file
File, explain.lisp: The cl-conspack/explain․lisp file
File, headers.lisp: The cl-conspack/headers․lisp file
File, indexes.lisp: The cl-conspack/indexes․lisp file
File, package.lisp: The cl-conspack/package․lisp file
File, properties.lisp: The cl-conspack/properties․lisp file
File, r-ref.lisp: The cl-conspack/r-ref․lisp file
File, reftable.lisp: The cl-conspack/reftable․lisp file
File, secure.lisp: The cl-conspack/secure․lisp file
File, tmap.lisp: The cl-conspack/tmap․lisp file
File, types.lisp: The cl-conspack/types․lisp file
File, util.lisp: The cl-conspack/util․lisp file
forward-ref: Private structures

H
header: Private types
header-decode-fun: Private types
header-test-fun: Private types
headers.lisp: The cl-conspack/headers․lisp file

I
indexes.lisp: The cl-conspack/indexes․lisp file
invalid-forward-ref: Private conditions
invalid-header: Public conditions
invalid-index: Public conditions
invalid-package-name: Public conditions
invalid-size: Private conditions
invalid-symbol-name: Public conditions
invalid-symbol-package: Public conditions
invalid-tmap-type: Public conditions

M
max-size-exceeded: Private conditions

P
Package, cl-conspack.asdf: The cl-conspack․asdf package
Package, conspack: The conspack package
package.lisp: The cl-conspack/package․lisp file
pointer: Public structures
properties.lisp: The cl-conspack/properties․lisp file

R
r-ref: Public structures
r-ref.lisp: The cl-conspack/r-ref․lisp file
ref-context: Private structures
reftable.lisp: The cl-conspack/reftable․lisp file

S
secure.lisp: The cl-conspack/secure․lisp file
security-error: Private conditions
Structure, forward-ref: Private structures
Structure, pointer: Public structures
Structure, r-ref: Public structures
Structure, ref-context: Private structures
Structure, symbol-index: Private structures
symbol-index: Private structures
System, cl-conspack: The cl-conspack system

T
tmap.lisp: The cl-conspack/tmap․lisp file
Type, header: Private types
Type, header-decode-fun: Private types
Type, header-test-fun: Private types
types.lisp: The cl-conspack/types․lisp file

U
unhandled-remote-reference: Public conditions
util.lisp: The cl-conspack/util․lisp file

Jump to:   C   D   E   F   H   I   M   P   R   S   T   U