This is the cl-hamt Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Sep 15 04:04:49 2024 GMT+0.
The main system appears first, followed by any subsystem dependency.
cl-hamt
Dictionary & set data structure using hash array-mapped tries
Daniel Shapero <shapero.daniel@gmail.com>
BSD 3-clause
cl-murmurhash
(system).
src
(module).
Modules are listed depth-first from the system components tree.
cl-hamt/src
cl-hamt
(system).
package.lisp
(file).
util.lisp
(file).
hamt.lisp
(file).
hash-dict.lisp
(file).
hash-set.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
cl-hamt/cl-hamt.asd
cl-hamt/src/package.lisp
cl-hamt/src/util.lisp
cl-hamt/src/hamt.lisp
cl-hamt/src/hash-dict.lisp
cl-hamt/src/hash-set.lisp
cl-hamt/src/util.lisp
package.lisp
(file).
src
(module).
get-bits
(function).
get-index
(function).
vec-insert
(function).
vec-remove
(function).
vec-update
(function).
cl-hamt/src/hamt.lisp
util.lisp
(file).
src
(module).
%hamt-lookup
(generic function).
%hamt-reduce
(method).
%hamt-reduce
(method).
%hamt-remove
(generic function).
%hamt-size
(generic function).
array-eq
(function).
conflict
(class).
conflict-entries
(reader method).
conflict-hash
(reader method).
hamt
(class).
hamt-hash
(reader method).
hamt-table
(reader method).
hamt-test
(reader method).
incompatible-tests-error
(condition).
leaf
(class).
node-key
(reader method).
table
(class).
table-array
(reader method).
table-bitmap
(reader method).
with-hamt
(macro).
with-table
(macro).
cl-hamt/src/hash-dict.lisp
hamt.lisp
(file).
src
(module).
dict->alist
(function).
dict-eq
(function).
dict-filter
(function).
dict-insert
(function).
dict-lookup
(function).
dict-map-keys
(function).
dict-map-values
(function).
dict-reduce
(function).
dict-reduce-keys
(function).
dict-reduce-values
(function).
dict-remove
(function).
dict-size
(function).
empty-dict
(function).
hash-dict
(class).
%dict-insert
(generic function).
%hamt-lookup
(method).
%hamt-lookup
(method).
%hamt-lookup
(method).
%hamt-reduce
(method).
%hamt-reduce
(method).
%hamt-remove
(method).
%hash-dict-eq
(generic function).
alist-remove
(function).
dict-clone
(function).
dict-conflict
(class).
dict-leaf
(class).
dict-table
(class).
hamt-table
(reader method).
node-value
(reader method).
cl-hamt/src/hash-set.lisp
hash-dict.lisp
(file).
src
(module).
empty-set
(function).
hash-set
(class).
set->list
(function).
set-diff
(function).
set-eq
(function).
set-filter
(function).
set-insert
(function).
set-intersection
(function).
set-lookup
(function).
set-map
(function).
set-reduce
(function).
set-remove
(function).
set-size
(function).
set-symmetric-diff
(function).
set-union
(function).
%hamt-lookup
(method).
%hamt-lookup
(method).
%hamt-lookup
(method).
%hamt-reduce
(method).
%hamt-reduce
(method).
%hamt-remove
(method).
%hash-set-eq
(generic function).
%set-insert
(generic function).
hamt-table
(reader method).
set-conflict
(class).
set-leaf
(class).
set-table
(class).
Packages are listed by definition order.
cl-hamt
hamt
common-lisp
.
dict->alist
(function).
dict-eq
(function).
dict-filter
(function).
dict-insert
(function).
dict-lookup
(function).
dict-map-keys
(function).
dict-map-values
(function).
dict-reduce
(function).
dict-reduce-keys
(function).
dict-reduce-values
(function).
dict-remove
(function).
dict-size
(function).
empty-dict
(function).
empty-set
(function).
hash-dict
(class).
hash-set
(class).
set->list
(function).
set-diff
(function).
set-eq
(function).
set-filter
(function).
set-insert
(function).
set-intersection
(function).
set-lookup
(function).
set-map
(function).
set-reduce
(function).
set-remove
(function).
set-size
(function).
set-symmetric-diff
(function).
set-union
(function).
%dict-insert
(generic function).
%hamt-lookup
(generic function).
%hamt-reduce
(generic function).
%hamt-remove
(generic function).
%hamt-size
(generic function).
%hash-dict-eq
(generic function).
%hash-set-eq
(generic function).
%set-insert
(generic function).
alist-remove
(function).
array-eq
(function).
conflict
(class).
conflict-entries
(generic reader).
conflict-hash
(generic reader).
dict-clone
(function).
dict-conflict
(class).
dict-leaf
(class).
dict-table
(class).
get-bits
(function).
get-index
(function).
hamt
(class).
hamt-hash
(generic reader).
hamt-table
(generic reader).
hamt-test
(generic reader).
incompatible-tests-error
(condition).
leaf
(class).
node-key
(generic reader).
node-value
(generic reader).
set-conflict
(class).
set-leaf
(class).
set-table
(class).
table
(class).
table-array
(generic reader).
table-bitmap
(generic reader).
vec-insert
(function).
vec-remove
(function).
vec-update
(function).
with-hamt
(macro).
with-table
(macro).
Definitions are sorted by export status, category, package, and then by lexicographic order.
Return a new dict consisting of the key/value pairs satisfying the given predicate.
Return a new dictionary with the key/value pairs added. The key/value
pairs are assumed to be alternating in the &rest argument, so to add the
key/value pairs (k1, v1), ..., (kn, vn), one would invoke
(dict-insert dict k1 v1 ... kn vn).
If any of the keys are already present in the dict passed, they are mapped
to the new values in the returned dict.
Multiply-return the value mapped to by the key in the dictionary and
whether or not the value is present in the dictionary.
The multiple return is necessary in case a key is present but maps to nil.
Return a new dict with the keys mapped by the given function.
Return a new dict with the values mapped by the given function. Optionally use new comparison and hash functions for the mapped dict.
Successively apply a function to key/value pairs of the dict.
The function is assumed to have the signature
‘func :: A K V -> A‘,
where ‘A‘ is the type of the initial-value, ‘K‘ is the type of the dict
keys and ‘V‘ is the type of dictionary values.
Note that HAMTs do not store items in any order, so the reduction operation
cannot be sensitive to the order in which the items are reduced.
Reducing over dictionary keys, ignoring the values.
Reducing over dictionary values, ignoring the keys.
Return a new dict with the keys removed. Any keys passed that are not already present in the dict are ignored.
Return the number of key/value pairs in the dict
Return an empty hash-dict, in which keys will be compared and hashed with the supplied test and hash functions. The hash must be a 32-bit hash.
Return an empty hash-set, in which elements will be compared and hashed with the supplied test and hash functions. The hash must be a 32-bit hash.
Return the elements of the set satisfying a given predicate.
Return a new set with the elements xs added to it. Elements already in the set are ignored.
Return true if the object x is in the set, false otherwise
Return the image of a set under a given function. Optionally use new comparison and hash functions for the mapped set.
Successively apply a function to elements of the set. The function is
assumed to have the signature
‘func :: A B -> A‘,
where A is the type of ‘initial-value‘ and ‘B‘ is the type of set elements.
Note that HAMTs do not store items in any order, so the reduction operation
cannot be sensitive to the order in which the items are reduced.
Return a new set with the elements xs removed from it. If an item x in xs is not in the set, it is ignored.
Return the size of the set
Accessing HAMT slots
Bitshifting in HAMT tables
Extract bits 5*depth : 5*(depth+1) from the number hash.
Given the 5-bit int extracted from a hash at the present depth, find the index in the current array corresponding to this bit sequence.
dict-table
) key value hash depth test) ¶dict-conflict
) key value hash depth test) ¶set-conflict
) key hash depth test) ¶dict-conflict
) key hash depth test) ¶dict-table
) key hash depth test) ¶set-conflict
) initial-value) ¶dict-conflict
) initial-value) ¶set-conflict
) key hash depth test) ¶dict-conflict
) key hash depth test) ¶dict-table
) (node2 dict-table
) key-test value-test) ¶dict-conflict
) (node2 dict-conflict
) key-test value-test) ¶set-conflict
) (node2 set-conflict
) test) ¶set-conflict
) key hash depth test) ¶(function equal)
:test
This slot is read-only.
(function cl-murmurhash:murmurhash)
:hash
This slot is read-only.
:table
This slot is read-only.
Jump to: | %
A C D E F G H M N S T V W |
---|
Jump to: | %
A C D E F G H M N S T V W |
---|
Jump to: | B E H K S T V |
---|
Jump to: | B E H K S T V |
---|
Jump to: | C D F H I L M P S T U |
---|
Jump to: | C D F H I L M P S T U |
---|