The ucons Reference Manual

This is the ucons Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 18:10:28 2024 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/concurrent-hash-table.lisp

Dependency

packages.lisp (file).

Source

ucons.asd.

Parent Component

ucons (system).

Internals

3.1.4 ucons/cache.lisp

Dependency

concurrent-hash-table.lisp (file).

Source

ucons.asd.

Parent Component

ucons (system).

Public Interface
Internals

3.1.5 ucons/ucons.lisp

Dependency

cache.lisp (file).

Source

ucons.asd.

Parent Component

ucons (system).

Public Interface
Internals

3.1.6 ucons/library.lisp

Dependency

ucons.lisp (file).

Source

ucons.asd.

Parent Component

ucons (system).

Public Interface

3.1.7 ucons/readtable.lisp

Dependency

library.lisp (file).

Source

ucons.asd.

Parent Component

ucons (system).

Public Interface

read-ulist (function).

Internals

3.1.8 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: *atom-cache*
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.

Macro: with-caching ((cache key &key inline) &body body)
Package

ucons.

Source

cache.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: cachep (object)
Package

ucons.

Source

cache.lisp.

Function: list-from-ulist (ulist)

Return a (possibly dotted) list of the elements of the supplied ulist.

Package

ucons.

Source

library.lisp.

Function: make-cache ()
Package

ucons.

Source

cache.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)
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: make-load-form ((ucons ucons) &optional env)
Source

ucons.lisp.

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

print-object.lisp.


5.1.6 Structures

Structure: ucons
Package

ucons.

Source

ucons.lisp.

Direct superclasses

structure-object.

Direct methods
Direct slots
Slot: cdr
Package

common-lisp.

Readers

ucdr.

Writers

This slot is read-only.

Slot: car
Package

common-lisp.

Readers

ucar.

Writers

This slot is read-only.

Slot: cache
Type

ucons::cache

Initform

(ucons:make-cache)

Readers

ucache.

Writers

This slot is read-only.


5.1.7 Types

Type: ulist ()
Package

ucons.

Source

ucons.lisp.


5.2 Internals


5.2.1 Constants

Constant: +cache-hash-threshold+

How many entries are cached in a list with linear search before switching to a hash table.

Package

ucons.

Source

cache.lisp.


5.2.2 Macros

Macro: ensure-concurrent-hash-table-entry (cht key value-form)
Package

ucons.

Source

concurrent-hash-table.lisp.


5.2.3 Ordinary functions

Function: cache-benchmark ()
Package

ucons.

Source

cache.lisp.

Reader: cache-data (instance)
Writer: (setf cache-data) (instance)
Package

ucons.

Source

cache.lisp.

Target Slot

data.

Function: call-with-caching (cache key thunk)
Package

ucons.

Source

cache.lisp.

Function: cdr-cache (cdr)
Package

ucons.

Source

ucons.lisp.

Function: concurrent-hash-table-from-alist (alist)
Package

ucons.

Source

concurrent-hash-table.lisp.

Function: make-concurrent-hash-table ()
Package

ucons.

Source

concurrent-hash-table.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: ucache (instance)
Package

ucons.

Source

ucons.lisp.

Target Slot

cache.


5.2.4 Conditions

Condition: unmatched-closing-square-bracket
Package

ucons.

Source

readtable.lisp.

Direct superclasses

reader-error.


5.2.5 Structures

Structure: cache
Package

ucons.

Source

cache.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: data
Type

(or list hash-table)

Readers

cache-data.

Writers

(setf cache-data).


5.2.6 Types

Type: concurrent-hash-table ()
Package

ucons.

Source

concurrent-hash-table.lisp.


Appendix A Indexes


A.1 Concepts


A.2 Functions

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

(
(setf cache-data): Private ordinary functions

C
cache-benchmark: Private ordinary functions
cache-data: Private ordinary functions
cachep: Public ordinary functions
call-with-caching: Private ordinary functions
cdr-cache: Private ordinary functions
Compiler Macro, ulist: Public compiler macros
Compiler Macro, ulist*: Public compiler macros
concurrent-hash-table-from-alist: Private ordinary functions

D
do-ulist: Public macros

E
ensure-concurrent-hash-table-entry: Private macros

F
Function, (setf cache-data): Private ordinary functions
Function, cache-benchmark: Private ordinary functions
Function, cache-data: Private ordinary functions
Function, cachep: Public ordinary functions
Function, call-with-caching: Private ordinary functions
Function, cdr-cache: Private ordinary functions
Function, concurrent-hash-table-from-alist: Private ordinary functions
Function, list-from-ulist: Public ordinary functions
Function, make-cache: Public ordinary functions
Function, make-concurrent-hash-table: Private ordinary functions
Function, make-fresh-ucons: Private ordinary functions
Function, print-list: Private ordinary functions
Function, read-right-square-bracket: Private ordinary functions
Function, read-ulist: Public ordinary functions
Function, tree-from-utree: Public ordinary functions
Function, ucache: Private ordinary functions
Function, ucar: Public ordinary functions
Function, ucdr: Public ordinary functions
Function, ucons: Public 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, 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-concurrent-hash-table-entry: Private macros
Macro, upop: Public macros
Macro, upush: Public macros
Macro, with-caching: Public macros
make-cache: Public ordinary functions
make-concurrent-hash-table: Private ordinary functions
make-fresh-ucons: Private ordinary functions
make-load-form: Public standalone methods
Method, make-load-form: Public standalone methods
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

T
tree-from-utree: Public ordinary functions

U
ucache: Private ordinary functions
ucar: Public ordinary functions
ucdr: Public ordinary functions
ucons: Public 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
utree-from-tree: Public ordinary functions

V
vector-from-ulist: Public ordinary functions

W
with-caching: Public macros


A.4 Data types