This is the champ-lite Reference Manual, version 1.0.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Fri May 15 11:40:21 2026 GMT+0.
The main system appears first, followed by any subsystem dependency.
champ-liteA lightweight implementation of persistent functional maps and iteration-safe mutable tables using Michael Steindorfer’s CHAMP data structure.
Scott L. Burson
Unlicense
1.0.1
src (module).
Modules are listed depth-first from the system components tree.
champ-lite/srcchamp-lite (system).
defs.lisp (file).
macros.lisp (file).
champ.lisp (file).
tests.lisp (file).
Files are sorted by type and then listed depth-first from the systems components trees.
champ-lite/champ-lite.asdchamp-lite/src/defs.lispchamp-lite/src/macros.lispchamp-lite/src/champ.lispchamp-lite/src/tests.lispchamp-lite/src/macros.lispdefs.lisp (file).
src (module).
do-map (macro).
do-bit-indices (macro).
do-table (macro).
hash-mix (macro).
hash-mixf (macro).
hash-unmix (macro).
hash-unmixf (macro).
hush (macro).
logandc2f (macro).
logiorf (macro).
make-lock (function).
with-lock (macro).
champ-lite/src/champ.lispmacros.lisp (file).
src (module).
make-map-iterator (function).
print-object (method).
print-object (method).
1-bits-below (function).
bit-index (type).
bit-indices (function).
champ-map (structure).
champ-map-contents (reader).
champ-map-hash-fn (reader).
champ-map-p (function).
champ-map-test (reader).
champ-table (structure).
champ-table-contents (reader).
(setf champ-table-contents) (writer).
champ-table-hash-fn (reader).
champ-table-lock (reader).
champ-table-p (function).
champ-table-test (reader).
copy-champ-map (function).
copy-champ-table (function).
hash-bits-per-level (constant).
hash-level-mask (constant).
make-map (function).
make-map-node (function).
make-map-tree-iterator-internal (function).
make-table (function).
make-table-iterator (function).
map-empty? (function).
map-less (function).
map-lookup (function).
map-node-entry-key (function).
map-node-entry-mask (function).
(setf map-node-entry-mask) (function).
map-node-entry-value (function).
map-node-header-size (constant).
map-node-size (function).
(setf map-node-size) (function).
map-node-subnode (function).
map-node-subnode-mask (function).
(setf map-node-subnode-mask) (function).
map-size (function).
map-tree (type).
map-tree-iterator-canonicalize (function).
map-tree-iterator-done? (function).
map-tree-iterator-get (function).
map-tree-less (function).
map-tree-lookup (function).
map-tree-size (function).
map-tree-verify (function).
map-tree-with (function).
map-with (function).
node-radix (constant).
print-map (function).
print-table (function).
raw-make-champ-map (function).
raw-make-champ-table (function).
table-empty? (function).
table-get (function).
table-put (function).
table-remove (function).
table-size (function).
vector-ins-2-rem-1 (function).
vector-insert-2 (function).
vector-rem-2-ins-1 (function).
vector-remove-2 (function).
vector-update (function).
champ-lite/src/tests.lispchamp.lisp (file).
src (module).
*vector-of-symbols* (special variable).
int-torture-hash (function).
map-verify (function).
table-verify (function).
test-champ-maps (function).
Packages are listed by definition order.
com.sympoiesis.champchamp
common-lisp.
do-map (macro).
make-map-iterator (function).
*vector-of-symbols* (special variable).
1-bits-below (function).
bit-index (type).
bit-indices (function).
champ-map (structure).
champ-map-contents (reader).
champ-map-hash-fn (reader).
champ-map-p (function).
champ-map-test (reader).
champ-table (structure).
champ-table-contents (reader).
(setf champ-table-contents) (writer).
champ-table-hash-fn (reader).
champ-table-lock (reader).
champ-table-p (function).
champ-table-test (reader).
copy-champ-map (function).
copy-champ-table (function).
copy-map-node (function).
do-bit-indices (macro).
do-table (macro).
hash-bits-per-level (constant).
hash-level-mask (constant).
hash-mix (macro).
hash-mixf (macro).
hash-unmix (macro).
hash-unmixf (macro).
hush (macro).
int-torture-hash (function).
logandc2f (macro).
logiorf (macro).
make-lock (function).
make-map (function).
make-map-node (function).
make-map-tree-iterator-internal (function).
make-table (function).
make-table-iterator (function).
map-empty? (function).
map-less (function).
map-lookup (function).
map-node-entry-key (function).
map-node-entry-mask (function).
(setf map-node-entry-mask) (function).
map-node-entry-value (function).
map-node-header-size (constant).
map-node-size (function).
(setf map-node-size) (function).
map-node-subnode (function).
map-node-subnode-mask (function).
(setf map-node-subnode-mask) (function).
map-size (function).
map-tree (type).
map-tree-iterator-canonicalize (function).
map-tree-iterator-done? (function).
map-tree-iterator-get (function).
map-tree-less (function).
map-tree-lookup (function).
map-tree-size (function).
map-tree-verify (function).
map-tree-with (function).
map-verify (function).
map-with (function).
node-radix (constant).
print-map (function).
print-table (function).
raw-make-champ-map (function).
raw-make-champ-table (function).
table-empty? (function).
table-get (function).
table-put (function).
table-remove (function).
table-size (function).
table-verify (function).
test-champ-maps (function).
vector-ins-2-rem-1 (function).
vector-insert-2 (function).
vector-rem-2-ins-1 (function).
vector-remove-2 (function).
vector-update (function).
with-lock (macro).
Definitions are sorted by export status, category, package, and then by lexicographic order.
Returns an iterator for ‘map’ implemented as a closure. Invoking it on ‘:get’, if the iterator has pairs left, returns the next pair as two values, key and value. Invoking it on ‘:done?’ will return true iff the iterator is exhausted; on ‘:more?’, true iff the iterator has pairs left.
champ-table) stream) ¶Returns the "mix" of the values, where "mix" is a commutative and associative operation with an inverse. All values MUST be fixnums; the result is a fixnum.
Returns the result of "unmixing" each of ‘to-unmix’ from ‘hash’. All values MUST be fixnums; the result is a fixnum.
The number of 1 bits in ‘mask’ at bit positions (strictly) less than ‘idx’.
A list of the indices of the 1 bits of ‘mask’, in ascending order.
Return a copy of SEQUENCE which is EQUAL to SEQUENCE but not EQ.
copy-seq.
Creates a persistent functional map with the given ‘hash-fn’ and ‘test’. The ‘hash-fn’ must return fixnums; negative fixnums are okay. The ‘test’ is called on two key values, and returns true iff they are to be considered equal; it must be an equivalence relation. If two keys are equal, ‘hash-fn’ must return the same value for them.
Creates a mutable CHAMP table. If ‘synchronized?‘ is true, writes (via ‘table-put’) will be locked, preventing loss of data from concurrent writes. The ‘hash-fn’ must return fixnums; negative fixnums are okay. The ‘test’ is called on two key values, and returns true iff they are to be considered equal; it must be an equivalence relation. If two keys are equal, ‘hash-fn’ must return the same value for them.
Returns an iterator for ‘table’ implemented as a closure. Invoking it on ‘:get’, if the iterator has pairs left, returns the next pair as two values, key and value. Invoking it on ‘:done?’ will return true iff the iterator is exhausted; on ‘:more?’, true iff the iterator has pairs left. Once the iterator is created, subsequent ‘table-put’ operations will have no effect on its behavior.
Returns true iff ‘map’ has no entries.
Returns a new map which has all the entries of ‘map’ except the one for ‘key’, if any.
If ‘map’ has an entry for ‘key’, returns the associated value and a true second value; otherwise returns ‘nil’.
Returns the number of entries in ‘map’.
Returns a new map which has all the entries of ‘map’, except that an entry has been added or updated associating ‘key’ with ‘value’.
Returns true iff ‘table’ has no entries.
If ‘map’ has an entry for ‘key’, returns the associated value and a true second value; otherwise returns ‘nil’.
Adds an entry to ‘table’ or updates an existing entry, so that ‘key’ maps to ‘value’.
Removes any entry for ‘key’ from ‘table’.
The number of entries in ‘table’.
Returns a new vector like ‘vec’ but with ‘val’ at ‘idx’.
structure-object.
com.sympoiesis.champ::map-tree
This slot is read-only.
function
This slot is read-only.
function
This slot is read-only.
structure-object.
com.sympoiesis.champ::map-tree
function
This slot is read-only.
function
This slot is read-only.
This slot is read-only.
| Jump to: | (
1
B C D F H I L M P R T V W |
|---|
| Jump to: | (
1
B C D F H I L M P R T V W |
|---|
| Jump to: | *
C H L M N S T |
|---|
| Jump to: | *
C H L M N S T |
|---|
| Jump to: | B C D F M P S T |
|---|
| Jump to: | B C D F M P S T |
|---|