The ucons Reference Manual

This is the ucons Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon May 15 06:43:04 2023 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 ucons

Unique conses and functions for working on them.

Author

Marco Heisig <>

License

MIT

Dependencies
  • alexandria (system).
  • atomics (system).
  • named-readtables (system).
  • trivia (system).
  • bordeaux-threads (system).
Source

ucons.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 ucons/ucons.asd

Source

ucons.asd.

Parent Component

ucons (system).

ASDF Systems

ucons.


3.1.2 ucons/packages.lisp

Source

ucons.asd.

Parent Component

ucons (system).

Packages

ucons.


3.1.3 ucons/chash.lisp

Dependency

packages.lisp (file).

Source

ucons.asd.

Parent Component

ucons (system).

Internals

3.1.4 ucons/ucons.lisp

Dependency

chash.lisp (file).

Source

ucons.asd.

Parent Component

ucons (system).

Public Interface
Internals

3.1.5 ucons/library.lisp

Dependency

ucons.lisp (file).

Source

ucons.asd.

Parent Component

ucons (system).

Public Interface

3.1.6 ucons/readtable.lisp

Dependency

library.lisp (file).

Source

ucons.asd.

Parent Component

ucons (system).

Public Interface

read-ulist (function).

Internals

3.1.7 ucons/print-object.lisp

Dependency

readtable.lisp (file).

Source

ucons.asd.

Parent Component

ucons (system).

Public Interface

print-object (method).

Internals

print-list (function).


4 Packages

Packages are listed by definition order.


4.1 ucons

Source

packages.lisp.

Use List

common-lisp.

Public Interface
Internals

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: *root-table*

The table of all uconses whose cdr is NIL.

Package

ucons.

Source

ucons.lisp.


5.1.2 Macros

Macro: do-ulist ((var ulist &optional result) &body body)
Package

ucons.

Source

library.lisp.

Macro: upop (place)
Package

ucons.

Source

library.lisp.

Macro: upush (object place)
Package

ucons.

Source

library.lisp.


5.1.3 Compiler macros

Compiler Macro: ulist (&rest args)
Package

ucons.

Source

library.lisp.

Compiler Macro: ulist* (&rest arg-forms)
Package

ucons.

Source

library.lisp.


5.1.4 Ordinary functions

Function: list-from-ulist (ulist)

Return a list of the elements of ULIST.

Package

ucons.

Source

library.lisp.

Function: make-root-table ()
Package

ucons.

Source

ucons.lisp.

Function: read-ulist (stream char)
Package

ucons.

Source

readtable.lisp.

Function: tree-from-utree (utree)

Return a tree of the same shape as UTREE, but where all occuring ulists have been converted to lists.

Package

ucons.

Source

library.lisp.

Reader: ucar (instance)
Package

ucons.

Source

ucons.lisp.

Target Slot

car.

Reader: ucdr (instance)
Package

ucons.

Source

ucons.lisp.

Target Slot

cdr.

Function: ucons (car cdr)

Given a suitable CAR and CDR, return a UCONS that is EQL to all future and past invocation of this function with the same arguments.

Package

ucons.

Source

ucons.lisp.

Function: uconsp (object)
Package

ucons.

Source

ucons.lisp.

Function: ulength (ulist)

Return the length of the given ulist.

Package

ucons.

Source

library.lisp.

Function: ulist (&rest args)

Return the ulist associated with the supplied arguments.

Package

ucons.

Source

library.lisp.

Function: ulist* (&rest args)

Return the ulist associated with the supplied arguments, but using the last argument as the tail of the constructed ulist.

Package

ucons.

Source

library.lisp.

Function: ulist-from-list (list)
Package

ucons.

Source

library.lisp.

Function: ulist-from-vector (vector)
Package

ucons.

Source

library.lisp.

Function: umapcar (function &rest sequences)

Return an ulist containing the results of applying FUNCTION to successive elements of the supplied sequences. The resulting ulist is as long as the shortest supplied sequence.

Package

ucons.

Source

library.lisp.

Function: unth (n ulist)
Package

ucons.

Source

library.lisp.

Function: unthcdr (n ulist)
Package

ucons.

Source

library.lisp.

Function: utree-from-tree (tree)
Package

ucons.

Source

library.lisp.

Function: vector-from-ulist (ulist)
Package

ucons.

Source

library.lisp.


5.1.5 Standalone methods

Method: print-object ((ucons ucons) stream)
Source

print-object.lisp.


5.1.6 Structures

Structure: root-table
Package

ucons.

Source

ucons.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: chash
Type

ucons::chash

Initform

(ucons::make-chash)

Readers

root-table-chash.

Writers

This slot is read-only.

Slot: small-integer-cache
Type

(simple-array ucons:ucons (33))

Initform

(let ((array (make-array 33))) (loop ucons::for ucons::index ucons::from -16 ucons::to 16 do (setf (aref array (+ ucons::index 16)) (ucons::make-fresh-ucons ucons::index nil))) array)

Readers

root-table-small-integer-cache.

Writers

This slot is read-only.

Structure: ucons
Package

ucons.

Source

ucons.lisp.

Direct superclasses

structure-object.

Direct methods

print-object.

Direct slots
Slot: cdr
Package

common-lisp.

Type

(or structure-object null)

Readers

ucdr.

Writers

This slot is read-only.

Slot: car
Package

common-lisp.

Readers

ucar.

Writers

This slot is read-only.

Slot: table
Type

(or list ucons::chash)

Readers

utable.

Writers

(setf utable).


5.1.7 Types

Type: ulist ()

A list made of UCONSes, or NIL.

Package

ucons.

Source

ucons.lisp.


5.2 Internals


5.2.1 Constants

Constant: +ucons-hash-table-threshold+
Package

ucons.

Source

ucons.lisp.


5.2.2 Macros

Macro: ensure-getchash (chash key value-form)
Package

ucons.

Source

chash.lisp.


5.2.3 Ordinary functions

Function: chash-from-alist (alist)
Package

ucons.

Source

chash.lisp.

Reader: chash-hash-table (instance)
Package

ucons.

Source

chash.lisp.

Target Slot

hash-table.

Reader: chash-lock (instance)
Package

ucons.

Source

chash.lisp.

Target Slot

lock.

Function: chashp (object)
Package

ucons.

Source

chash.lisp.

Function: make-chash ()
Package

ucons.

Source

chash.lisp.

Function: make-fresh-ucons (car cdr)
Package

ucons.

Source

ucons.lisp.

Function: print-list (list stream prefix suffix)
Package

ucons.

Source

print-object.lisp.

Function: read-right-square-bracket (stream char)
Package

ucons.

Source

readtable.lisp.

Reader: root-table-chash (instance)
Package

ucons.

Source

ucons.lisp.

Target Slot

chash.

Function: root-table-p (object)
Package

ucons.

Source

ucons.lisp.

Reader: root-table-small-integer-cache (instance)
Package

ucons.

Source

ucons.lisp.

Target Slot

small-integer-cache.

Function: ucons-leaf (car)
Package

ucons.

Source

ucons.lisp.

Reader: utable (instance)
Writer: (setf utable) (instance)
Package

ucons.

Source

ucons.lisp.

Target Slot

table.


5.2.4 Conditions

Condition: unmatched-closing-square-bracket
Package

ucons.

Source

readtable.lisp.

Direct superclasses

reader-error.


5.2.5 Structures

Structure: chash
Package

ucons.

Source

chash.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: hash-table
Package

common-lisp.

Type

hash-table

Initform

(make-hash-table :size 40 :rehash-size 4.0)

Readers

chash-hash-table.

Writers

This slot is read-only.

Slot: lock
Type

(bordeaux-threads:lock)

Initform

(bordeaux-threads:make-lock)

Readers

chash-lock.

Writers

This slot is read-only.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   (  
C   D   E   F   L   M   P   R   T   U   V  
Index Entry  Section

(
(setf utable): Private ordinary functions

C
chash-from-alist: Private ordinary functions
chash-hash-table: Private ordinary functions
chash-lock: Private ordinary functions
chashp: Private ordinary functions
Compiler Macro, ulist: Public compiler macros
Compiler Macro, ulist*: Public compiler macros

D
do-ulist: Public macros

E
ensure-getchash: Private macros

F
Function, (setf utable): Private ordinary functions
Function, chash-from-alist: Private ordinary functions
Function, chash-hash-table: Private ordinary functions
Function, chash-lock: Private ordinary functions
Function, chashp: Private ordinary functions
Function, list-from-ulist: Public ordinary functions
Function, make-chash: Private ordinary functions
Function, make-fresh-ucons: Private ordinary functions
Function, make-root-table: Public ordinary functions
Function, print-list: Private ordinary functions
Function, read-right-square-bracket: Private ordinary functions
Function, read-ulist: Public ordinary functions
Function, root-table-chash: Private ordinary functions
Function, root-table-p: Private ordinary functions
Function, root-table-small-integer-cache: Private ordinary functions
Function, tree-from-utree: Public ordinary functions
Function, ucar: Public ordinary functions
Function, ucdr: Public ordinary functions
Function, ucons: Public ordinary functions
Function, ucons-leaf: Private ordinary functions
Function, uconsp: Public ordinary functions
Function, ulength: Public ordinary functions
Function, ulist: Public ordinary functions
Function, ulist*: Public ordinary functions
Function, ulist-from-list: Public ordinary functions
Function, ulist-from-vector: Public ordinary functions
Function, umapcar: Public ordinary functions
Function, unth: Public ordinary functions
Function, unthcdr: Public ordinary functions
Function, utable: Private ordinary functions
Function, utree-from-tree: Public ordinary functions
Function, vector-from-ulist: Public ordinary functions

L
list-from-ulist: Public ordinary functions

M
Macro, do-ulist: Public macros
Macro, ensure-getchash: Private macros
Macro, upop: Public macros
Macro, upush: Public macros
make-chash: Private ordinary functions
make-fresh-ucons: Private ordinary functions
make-root-table: Public ordinary functions
Method, print-object: Public standalone methods

P
print-list: Private ordinary functions
print-object: Public standalone methods

R
read-right-square-bracket: Private ordinary functions
read-ulist: Public ordinary functions
root-table-chash: Private ordinary functions
root-table-p: Private ordinary functions
root-table-small-integer-cache: Private ordinary functions

T
tree-from-utree: Public ordinary functions

U
ucar: Public ordinary functions
ucdr: Public ordinary functions
ucons: Public ordinary functions
ucons-leaf: Private ordinary functions
uconsp: Public ordinary functions
ulength: Public ordinary functions
ulist: Public compiler macros
ulist: Public ordinary functions
ulist*: Public compiler macros
ulist*: Public ordinary functions
ulist-from-list: Public ordinary functions
ulist-from-vector: Public ordinary functions
umapcar: Public ordinary functions
unth: Public ordinary functions
unthcdr: Public ordinary functions
upop: Public macros
upush: Public macros
utable: Private ordinary functions
utree-from-tree: Public ordinary functions

V
vector-from-ulist: Public ordinary functions