This is the fset Reference Manual, version 1.3.2, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Sep 15 05:13:22 2024 GMT+0.
fset/fset.asd
fset/Code/defs.lisp
fset/Code/port.lisp
fset/Code/macros.lisp
fset/Code/order-macros.lisp
fset/Code/order.lisp
fset/Code/wb-trees.lisp
fset/Code/reader.lisp
fset/Code/fset-macros.lisp
fset/Code/fset.lisp
fset/Code/tuples.lisp
fset/Code/testing.lisp
fset/Code/interval.lisp
fset/Code/relations.lisp
fset/Code/complement-sets.lisp
fset/Code/bounded-sets.lisp
The main system appears first, followed by any subsystem dependency.
fset
A functional set-theoretic collections library. See: http://www.ergy.com/FSet.html
Scott L. Burson <Scott@ergy.com>
LLGPL
1.3.2
misc-extensions
(system).
mt19937
(system).
named-readtables
(system).
code
(module).
Modules are listed depth-first from the system components tree.
fset/Code
fset
(system).
defs.lisp
(file).
port.lisp
(file).
macros.lisp
(file).
order-macros.lisp
(file).
order.lisp
(file).
wb-trees.lisp
(file).
reader.lisp
(file).
fset-macros.lisp
(file).
fset.lisp
(file).
tuples.lisp
(file).
testing.lisp
(file).
interval.lisp
(file).
relations.lisp
(file).
complement-sets.lisp
(file).
bounded-sets.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
fset/fset.asd
fset/Code/defs.lisp
fset/Code/port.lisp
fset/Code/macros.lisp
fset/Code/order-macros.lisp
fset/Code/order.lisp
fset/Code/wb-trees.lisp
fset/Code/reader.lisp
fset/Code/fset-macros.lisp
fset/Code/fset.lisp
fset/Code/tuples.lisp
fset/Code/testing.lisp
fset/Code/interval.lisp
fset/Code/relations.lisp
fset/Code/complement-sets.lisp
fset/Code/bounded-sets.lisp
fset/Code/port.lisp
defs.lisp
(file).
code
(module).
*memory-barrier-lock*
(symbol macro).
base-char-p
(function).
gen
(macro).
length-nv
(macro).
make-char
(function).
make-lock
(function).
read-memory-barrier
(macro).
tuple-key-number-mask
(constant).
tuple-key-number-size
(constant).
tuple-value-index-size
(constant).
while
(macro).
with-lock
(macro).
write-memory-barrier
(macro).
fset/Code/macros.lisp
fset/Code/order-macros.lisp
macros.lisp
(file).
code
(module).
compare-slots
(macro).
define-cross-type-compare-methods
(macro).
+master-type-ordering+
(symbol macro).
fset/Code/order.lisp
order-macros.lisp
(file).
code
(module).
bag
(structure).
bag?
(function).
collection
(structure).
collection?
(function).
compare
(generic function).
compare-lexicographically
(generic function).
equal?
(function).
identity-ordering-mixin
(class).
map
(structure).
map-default
(reader).
(setf map-default)
(writer).
map?
(function).
seq
(structure).
seq?
(function).
set
(structure).
set?
(function).
tuple
(structure).
tuple?
(function).
+package-original-name+
(symbol macro).
compare-lists-lexicographically
(function).
compare-strings
(function).
greater-than?
(function).
less-than?
(function).
seq-default
(reader).
(setf seq-default)
(writer).
serial-number
(reader method).
(setf serial-number)
(writer method).
fset/Code/wb-trees.lisp
order.lisp
(file).
code
(module).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
print-object
(method).
print-object
(method).
print-object
(method).
print-object
(method).
*wb-tree-max-string-length*
(special variable).
*wb-tree-max-vector-length*
(special variable).
+wb-tree-max-depths-with-values+
(symbol macro).
+wb-tree-max-depths-without-values+
(symbol macro).
bag-value-size
(function).
copy-equivalent-bag
(function).
copy-equivalent-map
(function).
copy-equivalent-set
(function).
copy-wb-bag-tree-node
(function).
copy-wb-map-tree-node
(function).
copy-wb-seq-tree-node
(function).
copy-wb-set-tree-node
(function).
do-wb-bag-tree-pairs
(macro).
do-wb-map-tree-pairs
(macro).
do-wb-seq-tree-members
(macro).
do-wb-seq-tree-members-gen
(macro).
do-wb-set-tree-members
(macro).
equivalent-bag
(structure).
equivalent-bag-alist
(reader).
(setf equivalent-bag-alist)
(writer).
equivalent-bag-compare
(function).
equivalent-bag-difference
(function).
equivalent-bag-intersect
(function).
equivalent-bag-product
(function).
equivalent-bag-subbag?
(function).
equivalent-bag-sum
(function).
equivalent-bag-union
(function).
equivalent-bag?
(function).
equivalent-map
(structure).
equivalent-map-alist
(reader).
(setf equivalent-map-alist)
(writer).
equivalent-map-compare
(function).
equivalent-map-difference
(function).
equivalent-map-intersect
(function).
equivalent-map-less
(function).
equivalent-map-restrict
(function).
equivalent-map-restrict-not
(function).
equivalent-map-union
(function).
equivalent-map?
(function).
equivalent-set
(structure).
equivalent-set-compare
(function).
equivalent-set-difference
(function).
equivalent-set-disjoint?
(function).
equivalent-set-intersect
(function).
equivalent-set-members
(reader).
(setf equivalent-set-members)
(writer).
equivalent-set-subset?
(function).
equivalent-set-union
(function).
equivalent-set?
(function).
hedge-negative-infinity
(constant).
hedge-positive-infinity
(constant).
make-equivalent-bag
(function).
make-equivalent-map
(function).
make-equivalent-set
(function).
make-raw-wb-bag-tree-node
(function).
make-raw-wb-map-tree-node
(function).
make-raw-wb-seq-tree-node
(function).
make-raw-wb-set-tree-node
(function).
make-wb-bag-tree-iterator
(function).
make-wb-bag-tree-iterator-internal
(function).
make-wb-bag-tree-node
(function).
make-wb-bag-tree-pair-iterator
(function).
make-wb-bag-tree-pair-iterator-internal
(function).
make-wb-map-tree-iterator
(function).
make-wb-map-tree-iterator-internal
(function).
make-wb-map-tree-node
(function).
make-wb-seq-tree-iterator
(function).
make-wb-seq-tree-iterator-internal
(function).
make-wb-seq-tree-node
(function).
make-wb-set-tree-iterator
(function).
make-wb-set-tree-iterator-internal
(function).
make-wb-set-tree-node
(function).
make-wb-tree-iterator
(function).
map-key-size
(function).
set-value-size
(function).
string-insert
(function).
string-remove-at
(function).
string-seq-to-set
(function).
string-subseq
(function).
string-subseq-insert
(function).
string-update
(function).
vector-insert
(function).
vector-insert-from-string
(function).
vector-pair-bag-diff
(function).
vector-pair-bag-intersect
(function).
vector-pair-bag-product
(function).
vector-pair-bag-subbag?
(function).
vector-pair-bag-sum
(function).
vector-pair-bag-union
(function).
vector-pair-diff-2
(function).
vector-pair-intersect
(function).
vector-pair-restrict
(function).
vector-pair-restrict-not
(function).
vector-pair-union
(function).
vector-remove-at
(function).
vector-seq-to-set
(function).
vector-set-binary-search
(function).
vector-set-binary-search-cfn
(function).
vector-set-binary-search-hi
(function).
vector-set-binary-search-lo
(function).
vector-set-diff
(function).
vector-set-diff-2
(function).
vector-set-disjoint?
(function).
vector-set-intersect
(function).
vector-set-subset?
(function).
vector-set-union
(function).
vector-subseq
(function).
vector-subseq-insert
(function).
vector-update
(function).
vector-update-from-string
(function).
wb-bag-tree
(type).
wb-bag-tree-arb-pair
(function).
wb-bag-tree-build-node
(function).
wb-bag-tree-compare
(function).
wb-bag-tree-compare-rng
(function).
wb-bag-tree-concat
(function).
wb-bag-tree-diff
(function).
wb-bag-tree-diff-rng
(function).
wb-bag-tree-find-equivalent
(function).
wb-bag-tree-from-list
(function).
wb-bag-tree-greatest-pair
(function).
wb-bag-tree-intersect
(function).
wb-bag-tree-intersect-rng
(function).
wb-bag-tree-iterator-canonicalize
(function).
wb-bag-tree-iterator-done?
(function).
wb-bag-tree-iterator-get
(function).
wb-bag-tree-join
(function).
wb-bag-tree-least-pair
(function).
wb-bag-tree-less
(function).
wb-bag-tree-less-minimum
(function).
wb-bag-tree-minimum-pair
(function).
wb-bag-tree-multiplicity
(function).
wb-bag-tree-node
(structure).
wb-bag-tree-node-count
(reader).
(setf wb-bag-tree-node-count)
(writer).
wb-bag-tree-node-left
(reader).
(setf wb-bag-tree-node-left)
(writer).
wb-bag-tree-node-print
(function).
wb-bag-tree-node-right
(reader).
(setf wb-bag-tree-node-right)
(writer).
wb-bag-tree-node-size
(reader).
(setf wb-bag-tree-node-size)
(writer).
wb-bag-tree-node-total-count
(reader).
(setf wb-bag-tree-node-total-count)
(writer).
wb-bag-tree-node-value
(reader).
(setf wb-bag-tree-node-value)
(writer).
wb-bag-tree-node?
(function).
wb-bag-tree-pair-iterator-canonicalize
(function).
wb-bag-tree-pair-iterator-done?
(function).
wb-bag-tree-pair-iterator-get
(function).
wb-bag-tree-product
(function).
wb-bag-tree-product-rng
(function).
wb-bag-tree-rank
(function).
wb-bag-tree-rank-pair
(function).
wb-bag-tree-rank-pair-internal
(function).
wb-bag-tree-rank-trim
(function).
wb-bag-tree-size
(function).
wb-bag-tree-split
(function).
wb-bag-tree-subbag?
(function).
wb-bag-tree-subbag?-rng
(function).
wb-bag-tree-sum
(function).
wb-bag-tree-sum-rng
(function).
wb-bag-tree-to-set-tree
(function).
wb-bag-tree-total-count
(function).
wb-bag-tree-trim
(function).
wb-bag-tree-union
(function).
wb-bag-tree-union-rng
(function).
wb-bag-tree-vector-pair-sum
(function).
wb-bag-tree-vector-pair-union
(function).
wb-bag-tree-verify
(function).
wb-bag-tree-verify-rng
(function).
wb-bag-tree-with
(function).
wb-map-tree
(type).
wb-map-tree-arb-pair
(function).
wb-map-tree-build-node
(function).
wb-map-tree-compare
(function).
wb-map-tree-compare-rng
(function).
wb-map-tree-compose
(function).
wb-map-tree-concat
(function).
wb-map-tree-concat-maybe
(function).
wb-map-tree-diff-2
(function).
wb-map-tree-diff-2-rng
(function).
wb-map-tree-domain
(function).
wb-map-tree-find-equivalent
(function).
wb-map-tree-greatest-pair
(function).
wb-map-tree-intersect
(function).
wb-map-tree-intersect-rng
(function).
wb-map-tree-iterator-canonicalize
(function).
wb-map-tree-iterator-done?
(function).
wb-map-tree-iterator-get
(function).
wb-map-tree-join
(function).
wb-map-tree-least-pair
(function).
wb-map-tree-less
(function).
wb-map-tree-less-minimum
(function).
wb-map-tree-lookup
(function).
wb-map-tree-minimum-pair
(function).
wb-map-tree-node
(structure).
wb-map-tree-node-key
(reader).
(setf wb-map-tree-node-key)
(writer).
wb-map-tree-node-left
(reader).
(setf wb-map-tree-node-left)
(writer).
wb-map-tree-node-print
(function).
wb-map-tree-node-right
(reader).
(setf wb-map-tree-node-right)
(writer).
wb-map-tree-node-size
(reader).
(setf wb-map-tree-node-size)
(writer).
wb-map-tree-node-value
(reader).
(setf wb-map-tree-node-value)
(writer).
wb-map-tree-node?
(function).
wb-map-tree-rank
(function).
wb-map-tree-rank-pair
(function).
wb-map-tree-rank-pair-internal
(function).
wb-map-tree-rank-trim
(function).
wb-map-tree-restrict
(function).
wb-map-tree-restrict-not
(function).
wb-map-tree-restrict-not-rng
(function).
wb-map-tree-restrict-rng
(function).
wb-map-tree-size
(function).
wb-map-tree-split
(function).
wb-map-tree-trim
(function).
wb-map-tree-union
(function).
wb-map-tree-union-rng
(function).
wb-map-tree-vector-pair-union
(function).
wb-map-tree-verify
(function).
wb-map-tree-verify-rng
(function).
wb-map-tree-with
(function).
wb-seq-tree
(type).
wb-seq-tree-append
(function).
wb-seq-tree-build-node
(function).
wb-seq-tree-compare
(function).
wb-seq-tree-compare-lexicographically
(function).
wb-seq-tree-compare-rng
(function).
wb-seq-tree-concat
(function).
wb-seq-tree-from-list
(function).
wb-seq-tree-from-vector
(function).
wb-seq-tree-insert
(function).
wb-seq-tree-iterator-canonicalize
(function).
wb-seq-tree-iterator-done?
(function).
wb-seq-tree-iterator-get
(function).
wb-seq-tree-node
(structure).
wb-seq-tree-node-left
(reader).
(setf wb-seq-tree-node-left)
(writer).
wb-seq-tree-node-print
(function).
wb-seq-tree-node-right
(reader).
(setf wb-seq-tree-node-right)
(writer).
wb-seq-tree-node-size
(reader).
(setf wb-seq-tree-node-size)
(writer).
wb-seq-tree-node?
(function).
wb-seq-tree-remove
(function).
wb-seq-tree-reverse
(function).
wb-seq-tree-size
(function).
wb-seq-tree-subscript
(function).
wb-seq-tree-subseq
(function).
wb-seq-tree-to-list
(function).
wb-seq-tree-to-set-tree
(function).
wb-seq-tree-to-string
(function).
wb-seq-tree-to-vector
(function).
wb-seq-tree-trim
(function).
wb-seq-tree-verify
(function).
wb-seq-tree-with
(function).
wb-set-tree
(type).
wb-set-tree-arb
(function).
wb-set-tree-build-node
(function).
wb-set-tree-compare
(function).
wb-set-tree-compare-rng
(function).
wb-set-tree-concat
(function).
wb-set-tree-diff
(function).
wb-set-tree-diff-2
(function).
wb-set-tree-diff-2-rng
(function).
wb-set-tree-diff-rng
(function).
wb-set-tree-disjoint?
(function).
wb-set-tree-disjoint?-rng
(function).
wb-set-tree-find-equal
(function).
wb-set-tree-find-equivalent
(function).
wb-set-tree-find-rank
(function).
wb-set-tree-from-cl-sequence
(function).
wb-set-tree-from-list
(function).
wb-set-tree-greatest
(function).
wb-set-tree-intersect
(function).
wb-set-tree-intersect-rng
(function).
wb-set-tree-iterator-canonicalize
(function).
wb-set-tree-iterator-done?
(function).
wb-set-tree-iterator-get
(function).
wb-set-tree-join
(function).
wb-set-tree-least
(function).
wb-set-tree-less
(function).
wb-set-tree-less-minimum
(function).
wb-set-tree-member?
(function).
wb-set-tree-member?-cfn
(function).
wb-set-tree-minimum-value
(function).
wb-set-tree-node
(structure).
wb-set-tree-node-left
(reader).
(setf wb-set-tree-node-left)
(writer).
wb-set-tree-node-print
(function).
wb-set-tree-node-right
(reader).
(setf wb-set-tree-node-right)
(writer).
wb-set-tree-node-size
(reader).
(setf wb-set-tree-node-size)
(writer).
wb-set-tree-node-value
(reader).
(setf wb-set-tree-node-value)
(writer).
wb-set-tree-node?
(function).
wb-set-tree-rank
(function).
wb-set-tree-rank-element
(function).
wb-set-tree-rank-element-internal
(function).
wb-set-tree-rank-trim
(function).
wb-set-tree-size
(function).
wb-set-tree-split
(function).
wb-set-tree-split-above
(function).
wb-set-tree-split-below
(function).
wb-set-tree-subset?
(function).
wb-set-tree-subset?-rng
(function).
wb-set-tree-to-bag-tree
(function).
wb-set-tree-trim
(function).
wb-set-tree-union
(function).
wb-set-tree-union-rng
(function).
wb-set-tree-vector-union
(function).
wb-set-tree-verify
(function).
wb-set-tree-verify-rng
(function).
wb-set-tree-with
(function).
wb-tree-balance-factor
(constant).
wb-tree-max-depth
(function).
wb-tree-precomputed-max-depths
(constant).
wb-tree-true-max-depth
(function).
fset/Code/reader.lisp
wb-trees.lisp
(file).
code
(module).
#$-reader
(function).
#%-reader
(function).
#[-reader
(function).
#{-reader
(function).
#~-reader
(function).
*fset-rereading-readtable*
(special variable).
expand-bag-constructor-form
(function).
expand-map-constructor-form
(function).
expand-seq-constructor-form
(function).
expand-set-constructor-form
(function).
expand-tuple-constructor-form
(function).
fset-setup-rereading-readtable
(function).
rereading-#[-reader
(function).
rereading-#{-reader
(function).
rereading-#~-reader
(function).
fset/Code/fset-macros.lisp
reader.lisp
(file).
code
(module).
@
(macro).
do-bag
(macro).
do-bag-pairs
(macro).
do-map
(macro).
do-map-domain
(macro).
do-seq
(macro).
do-set
(macro).
check-three-arguments
(macro).
check-two-arguments
(macro).
fset/Code/fset.lisp
fset-macros.lisp
(file).
code
(module).
(setf @)
(setf expander).
arb
(generic function).
at-rank
(generic function).
bag-difference
(generic function).
bag-product
(generic function).
bag-sum
(generic function).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare-lexicographically
(method).
compose
(generic function).
concat
(generic function).
contains?
(generic function).
convert
(generic function).
count
(generic function).
count-if
(generic function).
count-if-not
(generic function).
disjoint?
(generic function).
domain
(generic function).
domain-contains?
(generic function).
empty-bag
(function).
empty-map
(function).
empty-seq
(function).
empty-set
(function).
empty-wb-bag
(function).
empty-wb-map
(function).
empty-wb-seq
(function).
empty-wb-set
(function).
empty?
(generic function).
filter
(generic function).
filter-pairs
(generic function).
find
(generic function).
find-if
(generic function).
find-if-not
(generic function).
first
(generic function).
greatest
(generic function).
head
(function).
image
(generic function).
insert
(generic function).
intersection
(generic function).
iterator
(generic function).
last
(generic function).
lastcons
(function).
least
(generic function).
less
(generic function).
less-first
(generic function).
less-last
(generic function).
(setf lookup)
(setf expander).
lookup
(generic function).
map-difference-2
(generic function).
map-intersection
(generic function).
map-union
(generic function).
member?
(function).
multiplicity
(generic function).
nonempty?
(function).
partition
(generic function).
position
(generic function).
position-if
(generic function).
position-if-not
(generic function).
print-object
(method).
print-object
(method).
print-object
(method).
print-object
(method).
range
(generic function).
range-contains?
(generic function).
rank
(generic function).
reduce
(generic function).
remove
(generic function).
remove-if
(generic function).
remove-if-not
(generic function).
restrict
(generic function).
restrict-not
(generic function).
reverse
(generic function).
set-difference
(generic function).
set-difference-2
(generic function).
set-size
(generic function).
size
(generic function).
sort
(generic function).
splice
(generic function).
split-above
(method).
split-below
(method).
split-from
(method).
split-through
(method).
stable-sort
(generic function).
subbag?
(generic function).
subseq
(generic function).
subset?
(generic function).
substitute
(generic function).
substitute-if
(generic function).
substitute-if-not
(generic function).
tail
(function).
union
(generic function).
wb-bag
(structure).
wb-map
(structure).
wb-seq
(structure).
wb-set
(structure).
with
(generic function).
with-default
(generic function).
with-first
(generic function).
with-last
(generic function).
*empty-wb-bag*
(special variable).
*empty-wb-map*
(special variable).
*empty-wb-seq*
(special variable).
*empty-wb-set*
(special variable).
bag-filter
(function).
bag-filter-pairs
(function).
bag-from-list
(function).
bag-image
(function).
bag-reduce
(function).
coerce-to-function
(function).
coerce-to-function-or-equal?
(function).
default
(generic function).
every
(function).
internal-do-bag-pairs
(generic function).
internal-do-map
(generic function).
internal-do-seq
(generic function).
internal-do-set
(generic function).
list-partition
(function).
make-wb-bag
(function).
make-wb-map
(function).
make-wb-seq
(function).
make-wb-set
(function).
map-filter
(function).
map-fn-compose
(function).
map-image
(function).
map-reduce
(function).
notany
(function).
notevery
(function).
print-wb-bag
(function).
print-wb-map
(function).
print-wb-seq
(function).
print-wb-set
(function).
seq-filter
(function).
seq-image
(function).
seq-partition
(function).
seq-reduce
(function).
set-filter
(function).
set-image
(function).
set-partition
(function).
set-reduce
(function).
simple-program-error
(condition).
some
(function).
sort-and-group
(generic function).
split
(function).
update
(compiler macro).
update
(function).
wb-bag-contents
(reader).
(setf wb-bag-contents)
(writer).
wb-bag?
(function).
wb-map-contents
(reader).
(setf wb-map-contents)
(writer).
wb-map-default
(function).
(setf wb-map-default)
(function).
wb-map-from-cl-sequence
(function).
wb-map-from-list
(function).
wb-map?
(function).
wb-seq-contents
(reader).
(setf wb-seq-contents)
(writer).
wb-seq-default
(function).
(setf wb-seq-default)
(function).
wb-seq?
(function).
wb-set-contents
(reader).
(setf wb-set-contents)
(writer).
wb-set?
(function).
fset/Code/tuples.lisp
fset.lisp
(file).
code
(module).
compare
(method).
compare
(method).
compare
(method).
convert
(method).
convert
(method).
def-tuple-key
(macro).
define-tuple-key
(macro).
do-tuple
(macro).
domain
(method).
dyn-tuple
(structure).
empty-dyn-tuple
(function).
empty-tuple
(function).
get-tuple-key
(function).
image
(method).
image
(method).
lookup
(method).
print-object
(method).
print-object
(method).
restrict
(method).
restrict-not
(method).
tuple-key-name
(reader).
(setf tuple-key-name)
(writer).
tuple-key?
(function).
tuple-merge
(generic function).
with
(method).
+tuple-desc-next-serial-number+
(symbol macro).
+tuple-desc-next-serial-number-lock+
(symbol macro).
+tuple-descriptor-map+
(symbol macro).
+tuple-key-lock+
(symbol macro).
+tuple-key-name-map+
(symbol macro).
+tuple-key-seq+
(symbol macro).
+tuple-random-value+
(symbol macro).
copy-tuple-desc
(function).
copy-tuple-key
(function).
do-tuple-internal
(macro).
dyn-tuple-contents
(reader).
(setf dyn-tuple-contents)
(writer).
dyn-tuple-descriptor
(reader).
(setf dyn-tuple-descriptor)
(writer).
dyn-tuple?
(function).
internal-do-tuple
(generic function).
make-dyn-tuple
(function).
make-tuple-desc
(function).
make-tuple-desc-internal
(function).
make-tuple-key
(function).
print-dyn-tuple
(function).
print-tuple-key
(function).
tuple-desc
(structure).
tuple-desc-key-set
(reader).
(setf tuple-desc-key-set)
(writer).
tuple-desc-lock
(reader).
(setf tuple-desc-lock)
(writer).
tuple-desc-next-desc-map
(reader).
(setf tuple-desc-next-desc-map)
(writer).
tuple-desc-p
(function).
tuple-desc-pairs
(reader).
(setf tuple-desc-pairs)
(writer).
tuple-desc-reorder-map-map
(reader).
(setf tuple-desc-reorder-map-map)
(writer).
tuple-desc-serial-number
(reader).
(setf tuple-desc-serial-number)
(writer).
tuple-get-reorder-map
(function).
tuple-key
(structure).
tuple-key-default-fn
(reader).
(setf tuple-key-default-fn)
(writer).
tuple-key-number
(reader).
(setf tuple-key-number)
(writer).
tuple-lookup
(function).
tuple-make-reorder-map
(function).
tuple-random-value
(function).
tuple-reorder-frequency
(constant).
tuple-reorder-keys
(function).
tuple-reorder-score-threshold
(special variable).
tuple-value-chunk-bits
(constant).
tuple-value-chunk-size
(constant).
tuple-window-size
(macro).
tuple-with
(function).
fset/Code/testing.lisp
tuples.lisp
(file).
code
(module).
adjust-sequence
(method).
compare
(method).
(setf elt)
(method).
elt
(method).
length
(method).
make-sequence-like
(method).
+k0+
(symbol macro).
+k1+
(symbol macro).
+k2+
(symbol macro).
+k3+
(symbol macro).
+k4+
(symbol macro).
+k5+
(symbol macro).
+k6+
(symbol macro).
+k7+
(symbol macro).
+k8+
(symbol macro).
+k9+
(symbol macro).
add-to-front
(function).
alist-assign
(function).
alist-bag-combine
(function).
alist-bag-difference
(function).
alist-bag-intersection
(function).
alist-bag-product
(function).
alist-bag-remove
(function).
alist-bag-size
(function).
alist-bag-sum
(function).
alist-bag-union
(function).
alist-remove
(function).
copy-my-integer
(function).
eqv
(function).
list-insert
(function).
list-remove
(function).
list-set-elt
(function).
make-my-integer
(function).
map-compare
(function).
map-sort-and-group
(function).
my-identity-ordered-obj
(class).
my-identity-ordered-obj-value
(reader method).
(setf my-identity-ordered-obj-value)
(writer method).
my-integer
(structure).
my-integer-p
(function).
my-integer-value
(reader).
(setf my-integer-value)
(writer).
my-sequence
(class).
my-sequence-actual
(reader method).
(setf my-sequence-actual)
(writer method).
my-unhandled-obj
(class).
my-unhandled-obj-value
(reader method).
(setf my-unhandled-obj-value)
(writer method).
pick
(function).
random-test
(function).
run-test-suite
(function).
seq-compare
(function).
seq-position
(function).
set-compare
(function).
test-bag-operations
(function).
test-bounded-sets
(function).
test-cl-generic-sequence-ops
(function).
test-compare-lexicographically
(function).
test-complement-sets
(function).
test-equivalent-sets
(function).
test-functional-deep-update
(function).
test-map-operations
(function).
test-misc
(function).
test-modify-macros
(function).
test-reader
(function).
test-relations
(function).
test-rereader
(function).
test-seq-operations
(function).
test-set-operations
(function).
test-tuple-operations
(function).
test-type-dispatch-speed
(function).
time-index
(function).
time-seq-iter
(function).
tuple-keys
(symbol macro).
verify
(generic function).
fset/Code/interval.lisp
testing.lisp
(file).
code
(module).
compare
(method).
compare
(method).
compare
(method).
empty?
(method).
intersection
(method).
less
(method).
print-object
(method).
print-object
(method).
set-difference
(method).
size
(method).
union
(method).
with
(method).
compare-intervals
(function).
empty-interval-set
(function).
interval
(structure).
interval-kind
(reader).
(setf interval-kind)
(writer).
interval-kind-symbol
(function).
interval-lower
(reader).
(setf interval-lower)
(writer).
interval-lower-closed?
(function).
interval-set
(structure).
interval-set-contents
(reader).
(setf interval-set-contents)
(writer).
interval-set?
(function).
interval-upper
(reader).
(setf interval-upper)
(writer).
interval-upper-closed?
(function).
interval?
(function).
less-interval
(generic function).
make-interval
(function).
make-interval-set
(function).
make-raw-interval
(function).
print-interval
(function).
print-interval-set
(function).
with-interval
(generic function).
fset/Code/relations.lisp
interval.lisp
(file).
code
(module).
2-relation
(macro).
2-relation
(structure).
all-queries
(method).
arb
(method).
arb
(method).
arity
(generic function).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compose
(method).
compose
(method).
compose
(method).
compose
(method).
compose
(method).
conflicts
(generic function).
contains?
(method).
contains?
(method).
convert
(method).
convert
(method).
convert
(method).
convert
(method).
convert
(method).
convert
(method).
convert
(method).
convert
(method).
convert
(method).
convert
(method).
convert
(method).
convert
(method).
do-2-relation
(macro).
do-list-relation
(macro).
domain
(method).
empty-2-relation
(function).
empty-list-relation
(function).
empty-query-registry
(function).
empty-wb-2-relation
(function).
empty-wb-list-relation
(function).
empty?
(method).
empty?
(method).
forward-key
(method).
greatest
(method).
intersection
(method).
inverse
(generic function).
iterator
(method).
join
(generic function).
least
(method).
less
(method).
less
(method).
less-query
(method).
list-relation
(structure).
lookup
(method).
lookup
(method).
lookup-inv
(generic function).
lookup-multi
(method).
lookup-multi-restricted
(method).
lookup-restricted
(method).
print-object
(method).
print-object
(method).
query
(generic function).
query-multi
(generic function).
query-registry
(structure).
range
(method).
relation
(structure).
size
(method).
size
(method).
union
(method).
wb-2-relation
(macro).
wb-2-relation
(structure).
wb-list-relation
(structure).
with
(method).
with
(method).
with-query
(method).
*empty-wb-2-relation*
(special variable).
2-relation-fn-compose
(function).
2-relation-to-wb-map
(function).
2-relation?
(function).
augmented-mp
(function).
augmented-mp-matches?
(function).
cartesian-product
(method).
copy-query-registry
(function).
expand-2-relation-constructor-form
(function).
get-indices
(function).
get-inverse
(function).
handle-var-arity
(function).
internal-do-2-relation
(generic function).
internal-do-list-relation
(generic function).
list-relation?
(function).
list-to-wb-2-relation
(function).
make-query-registry
(function).
make-wb-2-relation
(function).
make-wb-list-relation
(function).
map-to-sets-to-wb-2-relation
(function).
map-to-wb-2-relation
(function).
print-wb-2-relation
(function).
print-wb-list-relation
(function).
query-registry-arity
(reader).
(setf query-registry-arity)
(writer).
query-registry-indices
(reader).
(setf query-registry-indices)
(writer).
query-registry-key-index
(reader).
(setf query-registry-key-index)
(writer).
query-registry-p
(function).
reduced-tuple
(function).
relation?
(function).
set-transitive-closure
(function).
transitive-closure
(generic function).
verify
(method).
wb-2-relation-map0
(reader).
(setf wb-2-relation-map0)
(writer).
wb-2-relation-map1
(reader).
(setf wb-2-relation-map1)
(writer).
wb-2-relation-size
(reader).
(setf wb-2-relation-size)
(writer).
wb-2-relation?
(function).
wb-list-relation-arity
(reader).
(setf wb-list-relation-arity)
(writer).
wb-list-relation-indices
(reader).
(setf wb-list-relation-indices)
(writer).
wb-list-relation-tuples
(reader).
(setf wb-list-relation-tuples)
(writer).
wb-list-relation?
(function).
fset/Code/complement-sets.lisp
relations.lisp
(file).
code
(module).
arb
(method).
compare
(method).
compare
(method).
compare
(method).
complement
(generic function).
contains?
(method).
disjoint?
(method).
disjoint?
(method).
disjoint?
(method).
intersection
(method).
intersection
(method).
intersection
(method).
less
(method).
print-object
(method).
set-difference
(method).
set-difference
(method).
set-difference
(method).
size
(method).
subset?
(method).
subset?
(method).
subset?
(method).
union
(method).
union
(method).
union
(method).
with
(method).
complement-set
(structure).
complement-set-complement
(reader).
(setf complement-set-complement)
(writer).
complement-set?
(function).
internal-do-set
(method).
make-complement-set
(function).
print-complement-set
(function).
fset/Code/bounded-sets.lisp
complement-sets.lisp
(file).
code
(module).
arb
(method).
bounded-set
(structure).
bounded-set-contents
(function).
compare
(method).
compare
(method).
compare
(method).
complement
(method).
contains?
(method).
convert
(method).
disjoint?
(method).
empty?
(method).
intersection
(method).
less
(method).
make-bounded-set
(function).
print-object
(method).
set-difference
(method).
size
(method).
subset?
(method).
union
(method).
with
(method).
bounded-set-complement?
(reader).
(setf bounded-set-complement?)
(writer).
bounded-set-set
(reader).
(setf bounded-set-set)
(writer).
bounded-set-universe
(reader).
(setf bounded-set-universe)
(writer).
bounded-set?
(function).
internal-do-set
(method).
make-bounded-set-internal
(function).
print-bounded-set
(function).
Packages are listed by definition order.
fset
common-lisp
.
gmap
.
lexical-contexts
.
new-let
.
*fset-readtable*
(special variable).
2-relation
(macro).
2-relation
(structure).
@
(macro).
(setf @)
(setf expander).
adjoinf
(macro).
all-queries
(generic function).
appendf
(macro).
arb
(generic function).
arity
(generic function).
at-rank
(generic function).
bag
(macro).
bag
(structure).
bag-difference
(generic function).
bag-product
(generic function).
bag-sum
(generic function).
bag?
(function).
bounded-set
(structure).
bounded-set-contents
(function).
collection
(structure).
collection?
(function).
compare
(generic function).
compare-lexicographically
(generic function).
compare-slots
(macro).
complement
(generic function).
compose
(generic function).
composef
(macro).
concat
(generic function).
conflicts
(generic function).
contains?
(generic function).
convert
(generic function).
count
(generic function).
count-if
(generic function).
count-if-not
(generic function).
def-tuple-key
(macro).
define-cross-type-compare-methods
(macro).
define-tuple-key
(macro).
disjoint?
(generic function).
do-2-relation
(macro).
do-bag
(macro).
do-bag-pairs
(macro).
do-list-relation
(macro).
do-map
(macro).
do-map-domain
(macro).
do-seq
(macro).
do-set
(macro).
do-tuple
(macro).
domain
(generic function).
domain-contains?
(generic function).
dyn-tuple
(macro).
dyn-tuple
(structure).
empty-2-relation
(function).
empty-bag
(function).
empty-dyn-tuple
(function).
empty-list-relation
(function).
empty-map
(function).
empty-query-registry
(function).
empty-seq
(function).
empty-set
(function).
empty-tuple
(function).
empty-wb-2-relation
(function).
empty-wb-bag
(function).
empty-wb-list-relation
(function).
empty-wb-map
(function).
empty-wb-seq
(function).
empty-wb-set
(function).
empty?
(generic function).
equal?
(function).
excludef
(macro).
filter
(generic function).
filter-pairs
(generic function).
find
(generic function).
find-if
(generic function).
find-if-not
(generic function).
first
(generic function).
forward-key
(generic function).
fset-setup-readtable
(function).
get-tuple-key
(function).
greatest
(generic function).
head
(function).
identity-ordering-mixin
(class).
image
(generic function).
imagef
(macro).
includef
(macro).
insert
(generic function).
intersectf
(macro).
intersection
(generic function).
inverse
(generic function).
iterator
(generic function).
join
(generic function).
last
(generic function).
lastcons
(function).
least
(generic function).
less
(generic function).
less-first
(generic function).
less-last
(generic function).
less-query
(generic function).
list-relation
(structure).
(setf lookup)
(setf expander).
lookup
(generic function).
lookup-inv
(generic function).
lookup-multi
(generic function).
lookup-multi-restricted
(generic function).
lookup-restricted
(generic function).
make-bounded-set
(function).
map
(macro).
map
(structure).
map-default
(reader).
(setf map-default)
(writer).
map-difference-2
(generic function).
map-intersection
(generic function).
map-union
(generic function).
map?
(function).
member?
(function).
multiplicity
(generic function).
nonempty?
(function).
partition
(generic function).
pop-first
(macro).
pop-last
(macro).
position
(generic function).
position-if
(generic function).
position-if-not
(generic function).
prependf
(macro).
push-first
(macro).
push-last
(macro).
query
(generic function).
query-multi
(generic function).
query-registry
(structure).
range
(generic function).
range-contains?
(generic function).
rank
(generic function).
reduce
(generic function).
relation
(structure).
remove
(generic function).
remove-if
(generic function).
remove-if-not
(generic function).
removef
(macro).
restrict
(generic function).
restrict-not
(generic function).
reverse
(generic function).
seq
(macro).
seq
(structure).
seq?
(function).
set
(macro).
set
(structure).
set-difference
(generic function).
set-difference-2
(generic function).
set-size
(generic function).
set?
(function).
size
(generic function).
sort
(generic function).
splice
(generic function).
split-above
(generic function).
split-below
(generic function).
split-from
(generic function).
split-through
(generic function).
stable-sort
(generic function).
subbag?
(generic function).
subseq
(generic function).
subset?
(generic function).
substitute
(generic function).
substitute-if
(generic function).
substitute-if-not
(generic function).
tail
(function).
tuple
(macro).
tuple
(structure).
tuple-key-name
(reader).
(setf tuple-key-name)
(writer).
tuple-key?
(function).
tuple-merge
(generic function).
tuple?
(function).
union
(generic function).
unionf
(macro).
wb-2-relation
(macro).
wb-2-relation
(structure).
wb-bag
(macro).
wb-bag
(structure).
wb-list-relation
(structure).
wb-map
(macro).
wb-map
(structure).
wb-seq
(macro).
wb-seq
(structure).
wb-set
(macro).
wb-set
(structure).
with
(generic function).
with-default
(generic function).
with-first
(generic function).
with-last
(generic function).
with-query
(generic function).
#$-reader
(function).
#%-reader
(function).
#[-reader
(function).
#{-reader
(function).
#~-reader
(function).
*empty-wb-2-relation*
(special variable).
*empty-wb-bag*
(special variable).
*empty-wb-map*
(special variable).
*empty-wb-seq*
(special variable).
*empty-wb-set*
(special variable).
*fset-rereading-readtable*
(special variable).
*memory-barrier-lock*
(symbol macro).
*wb-tree-max-string-length*
(special variable).
*wb-tree-max-vector-length*
(special variable).
+k0+
(symbol macro).
+k1+
(symbol macro).
+k2+
(symbol macro).
+k3+
(symbol macro).
+k4+
(symbol macro).
+k5+
(symbol macro).
+k6+
(symbol macro).
+k7+
(symbol macro).
+k8+
(symbol macro).
+k9+
(symbol macro).
+master-type-ordering+
(symbol macro).
+package-original-name+
(symbol macro).
+tuple-desc-next-serial-number+
(symbol macro).
+tuple-desc-next-serial-number-lock+
(symbol macro).
+tuple-descriptor-map+
(symbol macro).
+tuple-key-lock+
(symbol macro).
+tuple-key-name-map+
(symbol macro).
+tuple-key-seq+
(symbol macro).
+tuple-random-value+
(symbol macro).
+wb-tree-max-depths-with-values+
(symbol macro).
+wb-tree-max-depths-without-values+
(symbol macro).
2-relation-fn-compose
(function).
2-relation-to-wb-map
(function).
2-relation?
(function).
add-to-front
(function).
alist-assign
(function).
alist-bag-combine
(function).
alist-bag-difference
(function).
alist-bag-intersection
(function).
alist-bag-product
(function).
alist-bag-remove
(function).
alist-bag-size
(function).
alist-bag-sum
(function).
alist-bag-union
(function).
alist-remove
(function).
augmented-mp
(function).
augmented-mp-matches?
(function).
bag-filter
(function).
bag-filter-pairs
(function).
bag-from-list
(function).
bag-image
(function).
bag-reduce
(function).
bag-value-size
(function).
base-char-p
(function).
bounded-set-complement?
(reader).
(setf bounded-set-complement?)
(writer).
bounded-set-set
(reader).
(setf bounded-set-set)
(writer).
bounded-set-universe
(reader).
(setf bounded-set-universe)
(writer).
bounded-set?
(function).
cartesian-product
(generic function).
check-three-arguments
(macro).
check-two-arguments
(macro).
coerce-to-function
(function).
coerce-to-function-or-equal?
(function).
compare-intervals
(function).
compare-lists-lexicographically
(function).
compare-strings
(function).
complement-set
(structure).
complement-set-complement
(reader).
(setf complement-set-complement)
(writer).
complement-set?
(function).
copy-equivalent-bag
(function).
copy-equivalent-map
(function).
copy-equivalent-set
(function).
copy-my-integer
(function).
copy-query-registry
(function).
copy-tuple-desc
(function).
copy-tuple-key
(function).
copy-wb-bag-tree-node
(function).
copy-wb-map-tree-node
(function).
copy-wb-seq-tree-node
(function).
copy-wb-set-tree-node
(function).
default
(generic function).
do-tuple-internal
(macro).
do-wb-bag-tree-pairs
(macro).
do-wb-map-tree-pairs
(macro).
do-wb-seq-tree-members
(macro).
do-wb-seq-tree-members-gen
(macro).
do-wb-set-tree-members
(macro).
dyn-tuple-contents
(reader).
(setf dyn-tuple-contents)
(writer).
dyn-tuple-descriptor
(reader).
(setf dyn-tuple-descriptor)
(writer).
dyn-tuple?
(function).
empty-interval-set
(function).
equivalent-bag
(structure).
equivalent-bag-alist
(reader).
(setf equivalent-bag-alist)
(writer).
equivalent-bag-compare
(function).
equivalent-bag-difference
(function).
equivalent-bag-intersect
(function).
equivalent-bag-product
(function).
equivalent-bag-subbag?
(function).
equivalent-bag-sum
(function).
equivalent-bag-union
(function).
equivalent-bag?
(function).
equivalent-map
(structure).
equivalent-map-alist
(reader).
(setf equivalent-map-alist)
(writer).
equivalent-map-compare
(function).
equivalent-map-difference
(function).
equivalent-map-intersect
(function).
equivalent-map-less
(function).
equivalent-map-restrict
(function).
equivalent-map-restrict-not
(function).
equivalent-map-union
(function).
equivalent-map?
(function).
equivalent-set
(structure).
equivalent-set-compare
(function).
equivalent-set-difference
(function).
equivalent-set-disjoint?
(function).
equivalent-set-intersect
(function).
equivalent-set-members
(reader).
(setf equivalent-set-members)
(writer).
equivalent-set-subset?
(function).
equivalent-set-union
(function).
equivalent-set?
(function).
eqv
(function).
every
(function).
expand-2-relation-constructor-form
(function).
expand-bag-constructor-form
(function).
expand-map-constructor-form
(function).
expand-seq-constructor-form
(function).
expand-set-constructor-form
(function).
expand-tuple-constructor-form
(function).
fset-setup-rereading-readtable
(function).
gen
(macro).
get-indices
(function).
get-inverse
(function).
greater-than?
(function).
handle-var-arity
(function).
hedge-negative-infinity
(constant).
hedge-positive-infinity
(constant).
internal-do-2-relation
(generic function).
internal-do-bag-pairs
(generic function).
internal-do-list-relation
(generic function).
internal-do-map
(generic function).
internal-do-seq
(generic function).
internal-do-set
(generic function).
internal-do-tuple
(generic function).
interval
(structure).
interval-kind
(reader).
(setf interval-kind)
(writer).
interval-kind-symbol
(function).
interval-lower
(reader).
(setf interval-lower)
(writer).
interval-lower-closed?
(function).
interval-set
(structure).
interval-set-contents
(reader).
(setf interval-set-contents)
(writer).
interval-set?
(function).
interval-upper
(reader).
(setf interval-upper)
(writer).
interval-upper-closed?
(function).
interval?
(function).
length-nv
(macro).
less-interval
(generic function).
less-than?
(function).
list-insert
(function).
list-partition
(function).
list-relation?
(function).
list-remove
(function).
list-set-elt
(function).
list-to-wb-2-relation
(function).
make-bounded-set-internal
(function).
make-char
(function).
make-complement-set
(function).
make-dyn-tuple
(function).
make-equivalent-bag
(function).
make-equivalent-map
(function).
make-equivalent-set
(function).
make-interval
(function).
make-interval-set
(function).
make-lock
(function).
make-my-integer
(function).
make-query-registry
(function).
make-raw-interval
(function).
make-raw-wb-bag-tree-node
(function).
make-raw-wb-map-tree-node
(function).
make-raw-wb-seq-tree-node
(function).
make-raw-wb-set-tree-node
(function).
make-tuple-desc
(function).
make-tuple-desc-internal
(function).
make-tuple-key
(function).
make-wb-2-relation
(function).
make-wb-bag
(function).
make-wb-bag-tree-iterator
(function).
make-wb-bag-tree-iterator-internal
(function).
make-wb-bag-tree-node
(function).
make-wb-bag-tree-pair-iterator
(function).
make-wb-bag-tree-pair-iterator-internal
(function).
make-wb-list-relation
(function).
make-wb-map
(function).
make-wb-map-tree-iterator
(function).
make-wb-map-tree-iterator-internal
(function).
make-wb-map-tree-node
(function).
make-wb-seq
(function).
make-wb-seq-tree-iterator
(function).
make-wb-seq-tree-iterator-internal
(function).
make-wb-seq-tree-node
(function).
make-wb-set
(function).
make-wb-set-tree-iterator
(function).
make-wb-set-tree-iterator-internal
(function).
make-wb-set-tree-node
(function).
make-wb-tree-iterator
(function).
map-compare
(function).
map-filter
(function).
map-fn-compose
(function).
map-image
(function).
map-key-size
(function).
map-reduce
(function).
map-sort-and-group
(function).
map-to-sets-to-wb-2-relation
(function).
map-to-wb-2-relation
(function).
my-identity-ordered-obj
(class).
my-identity-ordered-obj-value
(generic reader).
(setf my-identity-ordered-obj-value)
(generic writer).
my-integer
(structure).
my-integer-p
(function).
my-integer-value
(reader).
(setf my-integer-value)
(writer).
my-sequence
(class).
my-sequence-actual
(generic reader).
(setf my-sequence-actual)
(generic writer).
my-unhandled-obj
(class).
my-unhandled-obj-value
(generic reader).
(setf my-unhandled-obj-value)
(generic writer).
notany
(function).
notevery
(function).
pick
(function).
print-bounded-set
(function).
print-complement-set
(function).
print-dyn-tuple
(function).
print-interval
(function).
print-interval-set
(function).
print-tuple-key
(function).
print-wb-2-relation
(function).
print-wb-bag
(function).
print-wb-list-relation
(function).
print-wb-map
(function).
print-wb-seq
(function).
print-wb-set
(function).
query-registry-arity
(reader).
(setf query-registry-arity)
(writer).
query-registry-indices
(reader).
(setf query-registry-indices)
(writer).
query-registry-key-index
(reader).
(setf query-registry-key-index)
(writer).
query-registry-p
(function).
random-test
(function).
read-memory-barrier
(macro).
reduced-tuple
(function).
relation?
(function).
rereading-#[-reader
(function).
rereading-#{-reader
(function).
rereading-#~-reader
(function).
run-test-suite
(function).
seq-compare
(function).
seq-default
(reader).
(setf seq-default)
(writer).
seq-filter
(function).
seq-image
(function).
seq-partition
(function).
seq-position
(function).
seq-reduce
(function).
serial-number
(generic reader).
(setf serial-number)
(generic writer).
set-compare
(function).
set-filter
(function).
set-image
(function).
set-partition
(function).
set-reduce
(function).
set-transitive-closure
(function).
set-value-size
(function).
simple-program-error
(condition).
some
(function).
sort-and-group
(generic function).
split
(function).
string-insert
(function).
string-remove-at
(function).
string-seq-to-set
(function).
string-subseq
(function).
string-subseq-insert
(function).
string-update
(function).
test-bag-operations
(function).
test-bounded-sets
(function).
test-cl-generic-sequence-ops
(function).
test-compare-lexicographically
(function).
test-complement-sets
(function).
test-equivalent-sets
(function).
test-functional-deep-update
(function).
test-map-operations
(function).
test-misc
(function).
test-modify-macros
(function).
test-reader
(function).
test-relations
(function).
test-rereader
(function).
test-seq-operations
(function).
test-set-operations
(function).
test-tuple-operations
(function).
test-type-dispatch-speed
(function).
time-index
(function).
time-seq-iter
(function).
transitive-closure
(generic function).
tuple-desc
(structure).
tuple-desc-key-set
(reader).
(setf tuple-desc-key-set)
(writer).
tuple-desc-lock
(reader).
(setf tuple-desc-lock)
(writer).
tuple-desc-next-desc-map
(reader).
(setf tuple-desc-next-desc-map)
(writer).
tuple-desc-p
(function).
tuple-desc-pairs
(reader).
(setf tuple-desc-pairs)
(writer).
tuple-desc-reorder-map-map
(reader).
(setf tuple-desc-reorder-map-map)
(writer).
tuple-desc-serial-number
(reader).
(setf tuple-desc-serial-number)
(writer).
tuple-get-reorder-map
(function).
tuple-key
(structure).
tuple-key-default-fn
(reader).
(setf tuple-key-default-fn)
(writer).
tuple-key-number
(reader).
(setf tuple-key-number)
(writer).
tuple-key-number-mask
(constant).
tuple-key-number-size
(constant).
tuple-keys
(symbol macro).
tuple-lookup
(function).
tuple-make-reorder-map
(function).
tuple-random-value
(function).
tuple-reorder-frequency
(constant).
tuple-reorder-keys
(function).
tuple-reorder-score-threshold
(special variable).
tuple-value-chunk-bits
(constant).
tuple-value-chunk-size
(constant).
tuple-value-index-size
(constant).
tuple-window-size
(macro).
tuple-with
(function).
update
(compiler macro).
update
(function).
vector-insert
(function).
vector-insert-from-string
(function).
vector-pair-bag-diff
(function).
vector-pair-bag-intersect
(function).
vector-pair-bag-product
(function).
vector-pair-bag-subbag?
(function).
vector-pair-bag-sum
(function).
vector-pair-bag-union
(function).
vector-pair-diff-2
(function).
vector-pair-intersect
(function).
vector-pair-restrict
(function).
vector-pair-restrict-not
(function).
vector-pair-union
(function).
vector-remove-at
(function).
vector-seq-to-set
(function).
vector-set-binary-search
(function).
vector-set-binary-search-cfn
(function).
vector-set-binary-search-hi
(function).
vector-set-binary-search-lo
(function).
vector-set-diff
(function).
vector-set-diff-2
(function).
vector-set-disjoint?
(function).
vector-set-intersect
(function).
vector-set-subset?
(function).
vector-set-union
(function).
vector-subseq
(function).
vector-subseq-insert
(function).
vector-update
(function).
vector-update-from-string
(function).
verify
(generic function).
wb-2-relation-map0
(reader).
(setf wb-2-relation-map0)
(writer).
wb-2-relation-map1
(reader).
(setf wb-2-relation-map1)
(writer).
wb-2-relation-size
(reader).
(setf wb-2-relation-size)
(writer).
wb-2-relation?
(function).
wb-bag-contents
(reader).
(setf wb-bag-contents)
(writer).
wb-bag-tree
(type).
wb-bag-tree-arb-pair
(function).
wb-bag-tree-build-node
(function).
wb-bag-tree-compare
(function).
wb-bag-tree-compare-rng
(function).
wb-bag-tree-concat
(function).
wb-bag-tree-diff
(function).
wb-bag-tree-diff-rng
(function).
wb-bag-tree-find-equivalent
(function).
wb-bag-tree-from-list
(function).
wb-bag-tree-greatest-pair
(function).
wb-bag-tree-intersect
(function).
wb-bag-tree-intersect-rng
(function).
wb-bag-tree-iterator-canonicalize
(function).
wb-bag-tree-iterator-done?
(function).
wb-bag-tree-iterator-get
(function).
wb-bag-tree-join
(function).
wb-bag-tree-least-pair
(function).
wb-bag-tree-less
(function).
wb-bag-tree-less-minimum
(function).
wb-bag-tree-minimum-pair
(function).
wb-bag-tree-multiplicity
(function).
wb-bag-tree-node
(structure).
wb-bag-tree-node-count
(reader).
(setf wb-bag-tree-node-count)
(writer).
wb-bag-tree-node-left
(reader).
(setf wb-bag-tree-node-left)
(writer).
wb-bag-tree-node-print
(function).
wb-bag-tree-node-right
(reader).
(setf wb-bag-tree-node-right)
(writer).
wb-bag-tree-node-size
(reader).
(setf wb-bag-tree-node-size)
(writer).
wb-bag-tree-node-total-count
(reader).
(setf wb-bag-tree-node-total-count)
(writer).
wb-bag-tree-node-value
(reader).
(setf wb-bag-tree-node-value)
(writer).
wb-bag-tree-node?
(function).
wb-bag-tree-pair-iterator-canonicalize
(function).
wb-bag-tree-pair-iterator-done?
(function).
wb-bag-tree-pair-iterator-get
(function).
wb-bag-tree-product
(function).
wb-bag-tree-product-rng
(function).
wb-bag-tree-rank
(function).
wb-bag-tree-rank-pair
(function).
wb-bag-tree-rank-pair-internal
(function).
wb-bag-tree-rank-trim
(function).
wb-bag-tree-size
(function).
wb-bag-tree-split
(function).
wb-bag-tree-subbag?
(function).
wb-bag-tree-subbag?-rng
(function).
wb-bag-tree-sum
(function).
wb-bag-tree-sum-rng
(function).
wb-bag-tree-to-set-tree
(function).
wb-bag-tree-total-count
(function).
wb-bag-tree-trim
(function).
wb-bag-tree-union
(function).
wb-bag-tree-union-rng
(function).
wb-bag-tree-vector-pair-sum
(function).
wb-bag-tree-vector-pair-union
(function).
wb-bag-tree-verify
(function).
wb-bag-tree-verify-rng
(function).
wb-bag-tree-with
(function).
wb-bag?
(function).
wb-list-relation-arity
(reader).
(setf wb-list-relation-arity)
(writer).
wb-list-relation-indices
(reader).
(setf wb-list-relation-indices)
(writer).
wb-list-relation-tuples
(reader).
(setf wb-list-relation-tuples)
(writer).
wb-list-relation?
(function).
wb-map-contents
(reader).
(setf wb-map-contents)
(writer).
wb-map-default
(function).
(setf wb-map-default)
(function).
wb-map-from-cl-sequence
(function).
wb-map-from-list
(function).
wb-map-tree
(type).
wb-map-tree-arb-pair
(function).
wb-map-tree-build-node
(function).
wb-map-tree-compare
(function).
wb-map-tree-compare-rng
(function).
wb-map-tree-compose
(function).
wb-map-tree-concat
(function).
wb-map-tree-concat-maybe
(function).
wb-map-tree-diff-2
(function).
wb-map-tree-diff-2-rng
(function).
wb-map-tree-domain
(function).
wb-map-tree-find-equivalent
(function).
wb-map-tree-greatest-pair
(function).
wb-map-tree-intersect
(function).
wb-map-tree-intersect-rng
(function).
wb-map-tree-iterator-canonicalize
(function).
wb-map-tree-iterator-done?
(function).
wb-map-tree-iterator-get
(function).
wb-map-tree-join
(function).
wb-map-tree-least-pair
(function).
wb-map-tree-less
(function).
wb-map-tree-less-minimum
(function).
wb-map-tree-lookup
(function).
wb-map-tree-minimum-pair
(function).
wb-map-tree-node
(structure).
wb-map-tree-node-key
(reader).
(setf wb-map-tree-node-key)
(writer).
wb-map-tree-node-left
(reader).
(setf wb-map-tree-node-left)
(writer).
wb-map-tree-node-print
(function).
wb-map-tree-node-right
(reader).
(setf wb-map-tree-node-right)
(writer).
wb-map-tree-node-size
(reader).
(setf wb-map-tree-node-size)
(writer).
wb-map-tree-node-value
(reader).
(setf wb-map-tree-node-value)
(writer).
wb-map-tree-node?
(function).
wb-map-tree-rank
(function).
wb-map-tree-rank-pair
(function).
wb-map-tree-rank-pair-internal
(function).
wb-map-tree-rank-trim
(function).
wb-map-tree-restrict
(function).
wb-map-tree-restrict-not
(function).
wb-map-tree-restrict-not-rng
(function).
wb-map-tree-restrict-rng
(function).
wb-map-tree-size
(function).
wb-map-tree-split
(function).
wb-map-tree-trim
(function).
wb-map-tree-union
(function).
wb-map-tree-union-rng
(function).
wb-map-tree-vector-pair-union
(function).
wb-map-tree-verify
(function).
wb-map-tree-verify-rng
(function).
wb-map-tree-with
(function).
wb-map?
(function).
wb-seq-contents
(reader).
(setf wb-seq-contents)
(writer).
wb-seq-default
(function).
(setf wb-seq-default)
(function).
wb-seq-tree
(type).
wb-seq-tree-append
(function).
wb-seq-tree-build-node
(function).
wb-seq-tree-compare
(function).
wb-seq-tree-compare-lexicographically
(function).
wb-seq-tree-compare-rng
(function).
wb-seq-tree-concat
(function).
wb-seq-tree-from-list
(function).
wb-seq-tree-from-vector
(function).
wb-seq-tree-insert
(function).
wb-seq-tree-iterator-canonicalize
(function).
wb-seq-tree-iterator-done?
(function).
wb-seq-tree-iterator-get
(function).
wb-seq-tree-node
(structure).
wb-seq-tree-node-left
(reader).
(setf wb-seq-tree-node-left)
(writer).
wb-seq-tree-node-print
(function).
wb-seq-tree-node-right
(reader).
(setf wb-seq-tree-node-right)
(writer).
wb-seq-tree-node-size
(reader).
(setf wb-seq-tree-node-size)
(writer).
wb-seq-tree-node?
(function).
wb-seq-tree-remove
(function).
wb-seq-tree-reverse
(function).
wb-seq-tree-size
(function).
wb-seq-tree-subscript
(function).
wb-seq-tree-subseq
(function).
wb-seq-tree-to-list
(function).
wb-seq-tree-to-set-tree
(function).
wb-seq-tree-to-string
(function).
wb-seq-tree-to-vector
(function).
wb-seq-tree-trim
(function).
wb-seq-tree-verify
(function).
wb-seq-tree-with
(function).
wb-seq?
(function).
wb-set-contents
(reader).
(setf wb-set-contents)
(writer).
wb-set-tree
(type).
wb-set-tree-arb
(function).
wb-set-tree-build-node
(function).
wb-set-tree-compare
(function).
wb-set-tree-compare-rng
(function).
wb-set-tree-concat
(function).
wb-set-tree-diff
(function).
wb-set-tree-diff-2
(function).
wb-set-tree-diff-2-rng
(function).
wb-set-tree-diff-rng
(function).
wb-set-tree-disjoint?
(function).
wb-set-tree-disjoint?-rng
(function).
wb-set-tree-find-equal
(function).
wb-set-tree-find-equivalent
(function).
wb-set-tree-find-rank
(function).
wb-set-tree-from-cl-sequence
(function).
wb-set-tree-from-list
(function).
wb-set-tree-greatest
(function).
wb-set-tree-intersect
(function).
wb-set-tree-intersect-rng
(function).
wb-set-tree-iterator-canonicalize
(function).
wb-set-tree-iterator-done?
(function).
wb-set-tree-iterator-get
(function).
wb-set-tree-join
(function).
wb-set-tree-least
(function).
wb-set-tree-less
(function).
wb-set-tree-less-minimum
(function).
wb-set-tree-member?
(function).
wb-set-tree-member?-cfn
(function).
wb-set-tree-minimum-value
(function).
wb-set-tree-node
(structure).
wb-set-tree-node-left
(reader).
(setf wb-set-tree-node-left)
(writer).
wb-set-tree-node-print
(function).
wb-set-tree-node-right
(reader).
(setf wb-set-tree-node-right)
(writer).
wb-set-tree-node-size
(reader).
(setf wb-set-tree-node-size)
(writer).
wb-set-tree-node-value
(reader).
(setf wb-set-tree-node-value)
(writer).
wb-set-tree-node?
(function).
wb-set-tree-rank
(function).
wb-set-tree-rank-element
(function).
wb-set-tree-rank-element-internal
(function).
wb-set-tree-rank-trim
(function).
wb-set-tree-size
(function).
wb-set-tree-split
(function).
wb-set-tree-split-above
(function).
wb-set-tree-split-below
(function).
wb-set-tree-subset?
(function).
wb-set-tree-subset?-rng
(function).
wb-set-tree-to-bag-tree
(function).
wb-set-tree-trim
(function).
wb-set-tree-union
(function).
wb-set-tree-union-rng
(function).
wb-set-tree-vector-union
(function).
wb-set-tree-verify
(function).
wb-set-tree-verify-rng
(function).
wb-set-tree-with
(function).
wb-set?
(function).
wb-tree-balance-factor
(constant).
wb-tree-max-depth
(function).
wb-tree-precomputed-max-depths
(constant).
wb-tree-true-max-depth
(function).
while
(macro).
with-interval
(generic function).
with-lock
(macro).
write-memory-barrier
(macro).
xconcat
(function).
ximage
(function).
Definitions are sorted by export status, category, package, and then by lexicographic order.
A copy of the standard readtable with FSet reader macros installed.
fset
.
Constructs a 2-relation of the default implementation according to the supplied
argument subforms. Each argument subform can be a list of the form (‘key-expr’
‘value-expr’), denoting a mapping from the value of ‘key-expr’ to the value of
‘value-expr’; or a list of the form ($ ‘expression’), in which case the
expression must evaluate to a 2-relation, all of whose mappings will be
included in the result. Also, each of ’key-expr’ and ’value-expr’ can be of the
form ($ ‘expression’), in which case the expression must evaluate to a set, and
the elements of the set are used individually to form pairs; for example, the
result of
(2-relation (($ (set 1 2)) ($ (set ’a ’b))))
contains the pairs <1, a>, <1, b>, <2, a>, and <2, b>.
fset
.
A little hack with two purposes: (1) to make it easy to make FSet maps behave like Lisp functions in certain contexts; and (2) to somewhat lessen the pain of writing higher-order code in a two-namespace Lisp like Common Lisp. The idea is that you can write ‘(@ fn arg)’, and if ‘fn’ is a Lisp function, it will be funcalled on the argument; otherwise ‘lookup’ (q.v.) will be called on ‘fn’ and ‘arg’. To allow for ‘@’ to be used in more contexts, it actually can take any number of ‘args’, though ‘lookup’ always takes exactly two. Thus you can write ‘(@ fn arg1 arg2 ...)’ when you just want a shorter name for ‘funcall’. As a matter of style, it is suggested that ‘@’ be used only for side-effect-free functions. Also, though this doc string has spoken only of FSet maps, ‘@’ can be used with any type that ‘lookup’ works on. Can be used with ‘setf’, but only on collections, not functions, of course.
fset
.
(adjoinf coll . args) –> (setf coll (with coll . args))
fset
.
Constructs a bag of the default implementation according to the supplied
argument subforms. Each argument subform can be an expression, whose value
will be added to the bag with multiplicity 1; or a list of the form
($ ‘expression’), in which case the expression must evaluate to a bag (or a
set), which is bag-summed into the result; or a list of the form
(% ‘expression1’ ‘expression2’) (called a "multi-arg"), which indicates that
the value of ‘expression1’ is bag-summed into the result with multiplicity
given by the value of ‘expression2’. That is, the multiplicity of each member
of the result bag is the sum of its multiplicities as supplied by each of the
argument subforms.
fset
.
A handy macro for writing the bodies of ‘compare’ methods for user classes.
Returns the result of comparing the two objects by comparing the results of
calling each of ‘accessors’, in order, on the objects. Despite the name, an
accessor can actually be any function on the class in question; it can also
be a symbol, which will be used to access the slot via ‘slot-value’. For
example, if class ‘frob’ has accessor ‘frob-foo’ and slot ‘bar’:
(defmethod compare ((f1 frob) (f2 frob))
(compare-slots f1 f2 #’frob-foo ’bar))
If the symbol ‘:eql’ is supplied as the last accessor, then if the comparisons by the other supplied accessors all return ‘:equal’ but ‘obj1’ and ‘obj2’ are not eql, this returns ‘:unequal’.
fset
.
Deprecated; use ‘define-tuple-key’.
fset
.
Generates cross-type comparison methods for ‘type’ against the types on which the macro has previously been invoked. This macro is intended to be invoked at the top level of a source file. You should make sure that calls to this macro are always compiled in the same order; if you don’t, you could possibly get a "master type ordering out of sync" error, at which point you should delete all your fasls, restart your Lisp session, and recompile. However, the implementation tries very hard to prevent this.
fset
.
Defines a tuple key named ‘name’ as a global lexical variable (see ‘deflex’). If ‘default-fn’ is supplied, it is used to compute a value for lookups where the tuple has no explicit pair with this key; it is called with one argument, the tuple.
fset
.
Enumerates all pairs of the relation ‘br’, binding them successively to ‘key’ and ‘val’ and executing ‘body’.
fset
.
For each member of ‘bag’, binds ‘value-var’ to it and and executes ‘body’ a number of times equal to the member’s multiplicity. When done, returns ‘value’.
fset
.
For each member of ‘bag’, binds ‘value-var’ and ‘mult-var’ to the member and its multiplicity respectively, and executes ‘body’. When done, returns ‘value’.
fset
.
For each pair of ‘map’, binds ‘key-var’ and ‘value-var’ and executes ‘body’. When done, returns ‘value’.
fset
.
For each pair of ‘map’, binds ‘key-var’ and executes ‘body’. When done, returns ‘value’.
fset
.
For each element of ‘seq’, possibly restricted by ‘start’ and ‘end’, and in reverse order if ‘from-end?’ is true, binds ‘var’ to it and executes ‘body’. If ‘index’ is supplied, it names a variable that will be bound at each iteration to the index of the current element of ‘seq’. When done, returns ‘value’.
fset
.
For each member of ‘set’, binds ‘var’ to it and executes ‘body’. When done, returns ‘value’.
fset
.
For each pair of ‘tuple’, binds ‘key-var’ and ‘value-var’ and executes ‘body’. When done, returns ‘value’.
fset
.
Constructs a dyn-tuple according to the supplied argument subforms. Each argument subform can be a list of the form (‘key-expr’ ‘value-expr’), denoting a mapping from the value of ‘key-expr’ to the value of ‘value-expr’; or a list of the form ($ ‘expression’), in which case the expression must evaluate to a tuple, denoting all its mappings. The result is constructed from the denoted mappings in left-to-right order; so if a given key is supplied by more than one argument subform, its associated value will be given by the rightmost such subform.
fset
.
(excludef coll . args) –> (setf coll (less coll . args))
fset
.
(includef coll . args) –> (setf coll (with coll . args))
fset
.
Constructs a map of the default implementation according to the supplied argument subforms. Each argument subform can be a list of the form (‘key-expr’ ‘value-expr’), denoting a mapping from the value of ‘key-expr’ to the value of ‘value-expr’; or a list of the form ($ ‘expression’), in which case the expression must evaluate to a map, denoting all its mappings; or the symbol ‘:default’, in which case the next argument subform is a form whose value will become the map’s default. The result is constructed from the denoted mappings in left-to-right order; so if a given key is supplied by more than one argument subform, its associated value will be given by the rightmost such subform.
fset
.
(push-first seq val) –> (setf seq (with-first seq val))
fset
.
(push-last seq val) –> (setf seq (with-last seq val))
fset
.
(removef coll . args) –> (setf coll (less coll . args))
fset
.
Constructs a seq of the default implementation according to the supplied argument subforms. Each argument subform can be an expression whose value is to appear in the sequence; or a list of the form ($ ‘expression’), in which case the expression must evaluate to a sequence, all of whose values appear in the result sequence. The order of the result sequence reflects the order of the argument subforms.
fset
.
Constructs a set of the default implementation according to the supplied argument subforms. Each argument subform can be an expression, whose value will be a member of the result set; or a list of the form ($ ‘expression’), in which case the expression must evaluate to a set, all of whose members become members of the result set.
fset
.
Constructs a tuple of the default implementation according to the supplied argument subforms. Each argument subform can be a list of the form (‘key-expr’ ‘value-expr’), denoting a mapping from the value of ‘key-expr’ to the value of ‘value-expr’; or a list of the form ($ ‘expression’), in which case the expression must evaluate to a tuple, denoting all its mappings. The result is constructed from the denoted mappings in left-to-right order; so if a given key is supplied by more than one argument subform, its associated value will be given by the rightmost such subform.
fset
.
Constructs a wb-2-relation according to the supplied argument subforms.
Each argument subform can be a list of the form (‘key-expr’ ‘value-expr’),
denoting a mapping from the value of ‘key-expr’ to the value of ‘value-expr’;
or a list of the form ($ ‘expression’), in which case the expression must
evaluate to a 2-relation, all of whose mappings will be included in the
result. Also, each of ’key-expr’ and ’value-expr’ can be of the
form ($ ‘expression’), in which case the expression must evaluate to a set, and
the elements of the set are used individually to form pairs; for example, the
result of
(wb-2-relation (($ (set 1 2)) ($ (set ’a ’b))))
contains the pairs <1, a>, <1, b>, <2, a>, and <2, b>.
fset
.
Constructs a wb-bag according to the supplied argument subforms. Each argument subform can be an expression, whose value will be added to the bag with multiplicity 1; or a list of the form ($ ‘expression’), in which case the expression must evaluate to a bag (or a set), which is bag-summed into the result; or a list of the form (% ‘expression1’ ‘expression2’) (called a "multi-arg"), which indicates that the value of ‘expression1’ is bag-summed into the result with multiplicity given by the value of ‘expression2’. That is, the multiplicity of each member of the result bag is the sum of its multiplicities as supplied by each of the argument subforms.
fset
.
Constructs a wb-map according to the supplied argument subforms. Each argument subform can be a list of the form (‘key-expr’ ‘value-expr’), denoting a mapping from the value of ‘key-expr’ to the value of ‘value-expr’; or a list of the form ($ ‘expression’), in which case the expression must evaluate to a map, denoting all its mappings; or the symbol ‘:default’, in which case the next argument subform is a form whose value will become the map’s default. The result is constructed from the denoted mappings in left-to-right order; so if a given key is supplied by more than one argument subform, its associated value will be given by the rightmost such subform.
fset
.
Constructs a wb-seq according to the supplied argument subforms. Each argument subform can be an expression whose value is to appear in the sequence; or a list of the form ($ ‘expression’), in which case the expression must evaluate to a sequence, all of whose values appear in the result sequence. The order of the result sequence reflects the order of the argument subforms.
fset
.
Constructs a wb-set according to the supplied argument subforms. Each argument subform can be an expression, whose value will be a member of the result set; or a list of the form ($ ‘expression’), in which case the expression must evaluate to a set, all of whose members become members of the result set.
fset
.
Adds a pair to a map or updates an existing pair, or adds an element to a sequence or updates an existing element. This does NOT modify the map or sequence; it modifies the place (generalized variable) HOLDING the map or sequence (just like ‘(setf (ldb ...) ...)’). That is, the ‘collection’ subform must be ‘setf’able itself.
Adds a pair to a map or updates an existing pair, or adds an element to a sequence or updates an existing element. This does NOT modify the map or sequence; it modifies the place (generalized variable) HOLDING the map or sequence (just like ‘(setf (ldb ...) ...)’). That is, the ‘collection’ subform must be ‘setf’able itself.
Returns an empty bag of the default implementation.
We allow the arity to be temporarily unspecified; it will be taken from the first tuple added, or the first query.
fset
.
Returns an empty map of the default implementation.
Returns an empty seq of the default implementation.
Returns an empty set of the default implementation.
Returns an empty tuple of the default implementation.
fset
.
We allow the arity to be temporarily unspecified; it will be taken from the first tuple added, or the first query.
fset
.
Returns an empty wb-map.
Adds FSet reader macros to ‘readtable’. Returns ‘readtable’.
fset
.
Finds or creates a tuple key named ‘name’. If the key did not already exist, and ‘default-fn’ is supplied, it is used to compute a value for lookups where the tuple has no explicit pair with this key; it is called with one argument, the tuple.
fset
.
Another name for the ‘car’ operation on lists.
Returns the last cons of ‘list’. This is a renaming of the CL function ‘last’.
fset
.
Returns true iff ‘x’ is a member of the set or bag. Stylistically, ‘contains?’ is preferred over ‘member?’.
Returns true iff the collection is not empty.
Another name for the ‘cdr’ operation on lists.
fset
.
query-registry
)) ¶Returns an arbitrary member or pair of a set, bag, or map. Specifically, on a nonempty set, returns two values, an arbitrary member of the set and true; on a nonempty bag, returns an arbitrary member, its multiplicity, and true; on a nonempty map, returns an arbitrary domain member, its associated value, and true. On an empty set, bag, or map, returns false for all values. Please note that "arbitrary" does not mean "randomly selected"; it simply means that the sole postcondition is that the returned value or pair is a member of the collection.
fset
.
bounded-set
)) ¶complement-set
)) ¶wb-list-relation
)) ¶wb-2-relation
)) ¶Returns the arity of the relation ‘rel’.
fset
.
query-registry
)) ¶wb-list-relation
)) ¶Will return ‘nil’ if the arity is not yet specified; see ‘empty-list-relation’.
2-relation
)) ¶On a set, returns the element with rank ‘rank’; on a bag, returns
that element with its multiplicity as a second value; on a map, returns
the pair with that rank as two values. Note that if there are values/keys
that are unequal but equivalent in the collection, an arbitrary order will be
imposed on them for this purpose; but another collection that is ‘equal?’
but not ‘eq’ to this one will in general order them differently.
Returns a bag whose multiplicity, for any value, is its multiplicity in ‘bag1’ less that in ‘bag2’, but of course not less than zero.
Returns a bag whose multiplicity, for any value, is the product of its multiplicities in the two argument bags.
Returns a bag whose multiplicity, for any value, is the sum of its multiplicities in the two argument bags.
Returns one of ‘:less’, ‘:greater’, ‘:equal’, or ‘:unequal’ according as ‘x’ is less than, greater than, or equal to ‘y’, or none of these. While the ordering does not have to be total, it must be consistent: for two values A and B that compare ‘:unequal’ to each other, for any third value C, if A compares ‘:less’ or ‘:greater’ to C, then B must compare to C the same way; and no more than one of A and B can compare ‘:equal’ to C.
fset
.
set
) (bs bounded-set
)) ¶bounded-set
) (s set
)) ¶bounded-set
) (bs2 bounded-set
)) ¶set
) (cs complement-set
)) ¶complement-set
) (s set
)) ¶complement-set
) (cs2 complement-set
)) ¶wb-2-relation
) (b wb-2-relation
)) ¶relation
) (b identity-ordering-mixin
)) ¶identity-ordering-mixin
) (b relation
)) ¶my-integer
) (y my-integer
)) ¶tuple-desc
) (y tuple-desc
)) ¶equivalent-map
) (eqvm2 equivalent-map
)) ¶Returns ‘:less’ or ‘:greater’ if the domain values in ‘eqvm1’ are less than resp. greater than those in ‘eqvm2’; or EITHER ‘:equal’ or ‘:unequal’ if those in ‘eqvm1’ are equivalent to those in ‘eqvm2’.
equivalent-map
) key) ¶Returns ‘:less’ or ‘:greater’ if the domain values in ‘eqvm’ are less than resp. greater than ‘key’; or EITHER ‘:equal’ or ‘:unequal’ if ‘key’ is equivalent to any domain value in ‘eqvm’.
equivalent-map
)) ¶Returns ‘:less’ or ‘:greater’ if ‘key’ is less than resp. greater than the domain values in ‘eqvm’; or EITHER ‘:equal’ or ‘:unequal’ if ‘x’ is equivalent to any domain value in ‘eqvm’.
equivalent-bag
) (eqvs2 equivalent-bag
)) ¶Returns ‘:less’ or ‘:greater’ if the values in ‘eqvs1’ are less than resp. greater than those in ‘eqvs2’; returns EITHER ‘:equal’ or ‘:unequal’ if those in ‘eqvs1’ are equivalent to those in ‘eqvs2’.
equivalent-bag
) x) ¶Returns ‘:less’ or ‘:greater’ if the values in ‘eqvs’ are less than resp. greater than ‘x’; or EITHER ‘:equal’ or ‘:unequal’ if ‘x’ is equivalent to any value in ‘eqvs’.
equivalent-bag
)) ¶Returns ‘:less’ or ‘:greater’ if ‘x’ is less than resp. greater than the values in ‘eqvs’; or EITHER ‘:equal’ or ‘:unequal’ if ‘x’ is equivalent to any value in ‘eqvs’.
equivalent-set
) (eqvs2 equivalent-set
)) ¶Returns ‘:less’ or ‘:greater’ if the values in ‘eqvs1’ are less than resp. greater than those in ‘eqvs2’; returns EITHER ‘:equal’ or ‘:unequal’ if those in ‘eqvs1’ are equivalent to those in ‘eqvs2’.
equivalent-set
) x) ¶Returns ‘:less’ or ‘:greater’ if the values in ‘eqvs’ are less than resp. greater than ‘x’; or EITHER ‘:equal’ or ‘:unequal’ if ‘x’ is equivalent to any value in ‘eqvs’.
equivalent-set
)) ¶Returns ‘:less’ or ‘:greater’ if ‘x’ is less than resp. greater than the values in ‘eqvs’; or EITHER ‘:equal’ or ‘:unequal’ if ‘x’ is equivalent to any value in ‘eqvs’.
pathname
) (b pathname
)) ¶package
) (b package
)) ¶list
) (b list
)) ¶vector
) (b vector
)) ¶string
) (b string
)) ¶symbol
) (b symbol
)) ¶character
) (b character
)) ¶complex
) (b complex
)) ¶real
) (b real
)) ¶null
) (b null
)) ¶identity-ordering-mixin
) (b null
)) ¶null
) (b identity-ordering-mixin
)) ¶identity-ordering-mixin
) (b real
)) ¶real
) (b identity-ordering-mixin
)) ¶identity-ordering-mixin
) (b complex
)) ¶complex
) (b identity-ordering-mixin
)) ¶identity-ordering-mixin
) (b character
)) ¶character
) (b identity-ordering-mixin
)) ¶identity-ordering-mixin
) (b symbol
)) ¶symbol
) (b identity-ordering-mixin
)) ¶identity-ordering-mixin
) (b string
)) ¶string
) (b identity-ordering-mixin
)) ¶identity-ordering-mixin
) (b vector
)) ¶vector
) (b identity-ordering-mixin
)) ¶identity-ordering-mixin
) (b list
)) ¶list
) (b identity-ordering-mixin
)) ¶identity-ordering-mixin
) (b package
)) ¶package
) (b identity-ordering-mixin
)) ¶identity-ordering-mixin
) (b pathname
)) ¶pathname
) (b identity-ordering-mixin
)) ¶identity-ordering-mixin
) (b set
)) ¶set
) (b identity-ordering-mixin
)) ¶identity-ordering-mixin
) (b bag
)) ¶bag
) (b identity-ordering-mixin
)) ¶identity-ordering-mixin
) (b map
)) ¶map
) (b identity-ordering-mixin
)) ¶identity-ordering-mixin
) (b seq
)) ¶seq
) (b identity-ordering-mixin
)) ¶identity-ordering-mixin
) (b tuple
)) ¶tuple
) (b identity-ordering-mixin
)) ¶pathname
) (b null
)) ¶null
) (b pathname
)) ¶pathname
) (b real
)) ¶real
) (b pathname
)) ¶pathname
) (b complex
)) ¶complex
) (b pathname
)) ¶pathname
) (b character
)) ¶character
) (b pathname
)) ¶pathname
) (b symbol
)) ¶symbol
) (b pathname
)) ¶pathname
) (b string
)) ¶string
) (b pathname
)) ¶pathname
) (b vector
)) ¶vector
) (b pathname
)) ¶pathname
) (b list
)) ¶list
) (b pathname
)) ¶pathname
) (b package
)) ¶package
) (b pathname
)) ¶package
) (b null
)) ¶null
) (b package
)) ¶package
) (b real
)) ¶real
) (b package
)) ¶package
) (b complex
)) ¶complex
) (b package
)) ¶package
) (b character
)) ¶character
) (b package
)) ¶package
) (b symbol
)) ¶symbol
) (b package
)) ¶package
) (b string
)) ¶string
) (b package
)) ¶package
) (b vector
)) ¶vector
) (b package
)) ¶package
) (b list
)) ¶list
) (b package
)) ¶list
) (b null
)) ¶null
) (b list
)) ¶list
) (b real
)) ¶real
) (b list
)) ¶list
) (b complex
)) ¶complex
) (b list
)) ¶list
) (b character
)) ¶character
) (b list
)) ¶list
) (b symbol
)) ¶symbol
) (b list
)) ¶list
) (b string
)) ¶string
) (b list
)) ¶list
) (b vector
)) ¶vector
) (b list
)) ¶vector
) (b null
)) ¶null
) (b vector
)) ¶vector
) (b real
)) ¶real
) (b vector
)) ¶vector
) (b complex
)) ¶complex
) (b vector
)) ¶vector
) (b character
)) ¶character
) (b vector
)) ¶vector
) (b symbol
)) ¶symbol
) (b vector
)) ¶vector
) (b string
)) ¶string
) (b vector
)) ¶string
) (b null
)) ¶null
) (b string
)) ¶string
) (b real
)) ¶real
) (b string
)) ¶string
) (b complex
)) ¶complex
) (b string
)) ¶string
) (b character
)) ¶character
) (b string
)) ¶string
) (b symbol
)) ¶symbol
) (b string
)) ¶symbol
) (b null
)) ¶null
) (b symbol
)) ¶symbol
) (b real
)) ¶real
) (b symbol
)) ¶symbol
) (b complex
)) ¶complex
) (b symbol
)) ¶symbol
) (b character
)) ¶character
) (b symbol
)) ¶character
) (b null
)) ¶null
) (b character
)) ¶character
) (b real
)) ¶real
) (b character
)) ¶character
) (b complex
)) ¶complex
) (b character
)) ¶complex
) (b null
)) ¶null
) (b complex
)) ¶complex
) (b real
)) ¶real
) (b complex
)) ¶real
) (b null
)) ¶null
) (b real
)) ¶identity-ordering-mixin
) (obj2 identity-ordering-mixin
)) ¶Returns the result of a lexicographic comparison of ‘a’ and ‘b’, which can be strings, vectors, lists, or seqs.
Returns the complement of the set.
fset
.
bounded-set
)) ¶complement-set
)) ¶function
)) ¶Returns a new map with the same domain as ‘map1’, which maps each member of that domain to the result of applying first ‘map1’ to it, then applying ‘map2-or-fn’ to the result. ‘map2-or-fn’ can also be a sequence, which is treated as a map from indices to members.
fset
.
wb-2-relation
) (rel2 wb-2-relation
)) ¶wb-2-relation
) (fn seq
)) ¶wb-2-relation
) (fn map
)) ¶wb-2-relation
) (fn symbol
)) ¶wb-2-relation
) (fn function
)) ¶Returns the concatenation of ‘seq1’ with each of ‘seqs’.
Returns a 2-relation containing only those pairs of ‘2-relation’ whose domain value is mapped to multiple range values.
fset
.
wb-2-relation
)) ¶Returns true iff the set or bag contains ‘x’, or the map or relation contains the pair <x, y>.
fset
.
bounded-set
) x &optional arg2) ¶complement-set
) x &optional y) ¶wb-list-relation
) tuple &optional arg2) ¶wb-2-relation
) x &optional y) ¶Converts the collection to the specified type. Some methods may
take additional keyword arguments to further specify the kind of conversion.
fset
.
(eql fset:wb-set)
) (bs bounded-set
) &key) ¶(eql fset:map-to-sets)
) (br wb-2-relation
) &key) ¶This conversion returns a map mapping each domain value to the set of corresponding range values.
(eql fset:wb-map)
) (br wb-2-relation
) &key) ¶This conversion requires the relation to be functional, and returns a map representing the function; that is, the relation must map each domain value to a single range value, and the returned map maps that domain value to that range value.
(eql fset:map)
) (br wb-2-relation
) &key) ¶This conversion requires the relation to be functional, and returns a map representing the function; that is, the relation must map each domain value to a single range value, and the returned map maps that domain value to that range value.
(eql fset:wb-2-relation)
) (alist list
) &key key-fn value-fn) ¶(eql fset:2-relation)
) (alist list
) &key key-fn value-fn) ¶(eql fset:wb-2-relation)
) (m map
) &key from-type) ¶If ‘from-type’ is the symbol ‘map-to-sets’, the range elements must all be sets, and the result pairs each domain element with each member of the corresponding range set. Otherwise, the result pairs each domain element with the corresponding range element directly.
(eql fset:2-relation)
) (m map
) &key from-type) ¶If ‘from-type’ is the symbol ‘map-to-sets’, the range elements must all be sets, and the result pairs each domain element with each member of the corresponding range set. Otherwise, the result pairs each domain element with the corresponding range element directly.
(eql fset:set)
) (br 2-relation
) &key pair-fn) ¶(eql fset:wb-2-relation)
) (br wb-2-relation
) &key) ¶(eql fset:2-relation)
) (br 2-relation
) &key) ¶(eql fset:wb-seq)
) (l list
) &key) ¶(eql fset:seq)
) (l list
) &key) ¶(eql fset:wb-seq)
) (vec vector
) &key) ¶(eql fset:seq)
) (vec vector
) &key) ¶(eql hash-table)
) (m map
) &rest make-hash-table-args &key &allow-other-keys) ¶(eql fset:wb-map)
) (ht hash-table
) &key) ¶(eql fset:map)
) (ht hash-table
) &key) ¶(eql fset:wb-map)
) (s sequence
) &key key-fn value-fn) ¶(eql fset:map)
) (s sequence
) &key key-fn value-fn) ¶(eql fset:wb-map)
) (list list
) &key key-fn value-fn) ¶(eql fset:map)
) (list list
) &key key-fn value-fn) ¶(eql fset:wb-bag)
) (s sequence
) &key) ¶(eql fset:bag)
) (s sequence
) &key) ¶(eql fset:wb-bag)
) (l list
) &key from-type) ¶If ‘from-type’ is the symbol ‘alist’, treats the operand as an alist where the cdr of each pair (which must be a positive integer) is the member count for the car. Otherwise the operand is treated as a simple list of members, some of which may be repeated.
(eql fset:bag)
) (l list
) &key from-type) ¶If ‘from-type’ is the symbol ‘alist’, treats the operand as an alist where the cdr of each pair (which must be a positive integer) is the member count for the car. Otherwise the operand is treated as a simple list of members, some of which may be repeated.
(eql fset:wb-set)
) (s sequence
) &key) ¶(eql fset:set)
) (s sequence
) &key) ¶(eql fset:wb-set)
) (l list
) &key) ¶(eql fset:set)
) (l list
) &key) ¶(eql vector)
) (v vector
) &key) ¶(eql list)
) (ls list
) &key) ¶If ‘collection’ is a Lisp sequence, this simply calls ‘cl:count’. On an FSet collection, the default for ‘test’ is ‘equal?’; the ‘:test-not’ keyword is not accepted; and the ‘:start’, ‘:end’, and ‘:from-end’ keywords are accepted only if ‘collection’ is a seq. Also, on a map, this scans the domain.
If ‘collection’ is a Lisp sequence, this simply calls ‘cl:count-if’. On an FSet collection, the ‘:start’, ‘:end’, and ‘:from-end’ keywords are accepted only if ‘collection’ is a seq. Also, on a map, this scans the domain.
If ‘collection’ is a Lisp sequence, this simply calls ‘cl:count-if-not’.
On an FSet collection, the ‘:start’, ‘:end’, and ‘:from-end’ keywords are
accepted only if ‘collection’ is a seq. Also, on a map, this scans the domain.
Returns true iff ‘set1’ and ‘set2’ have a null intersection (without actually constructing said intersection).
fset
.
bounded-set
) (bs2 bounded-set
)) ¶set
) (cs complement-set
)) ¶complement-set
) (s set
)) ¶complement-set
) (cs2 complement-set
)) ¶Returns the domain of the map, that is, the set of keys mapped by the map.
fset
.
wb-2-relation
)) ¶Returns true iff the domain of the map or seq contains ‘x’. (The domain of a seq is the set of valid indices.)
Returns true iff the collection is empty.
fset
.
bounded-set
)) ¶wb-list-relation
)) ¶wb-2-relation
)) ¶interval-set
)) ¶sequence
)) ¶list
)) ¶Returns a new collection containing those members or pairs of ‘collection’ for which ‘fn’ returns true. If ‘collection’ is a set, bag, or seq, ‘fn’ is called with one argument; if a map, ‘fn’ is called with two arguments, the key and the value (the map-default of the result is that of ‘collection’). As well as a Lisp function, ‘fn’ can be a map, or a set (which is treated as mapping its members to true and everything else to false).
Just like ‘filter’ except that if invoked on a bag, ‘fn’ (which must be a Lisp function) is called with two arguments for each pair, the member and the multiplicity.
If ‘collection’ is a Lisp sequence, this simply calls ‘cl:find’. On an FSet collection, the default for ‘test’ is ‘equal?’; the ‘:test-not’ keyword is not accepted; and the ‘:start’, ‘:end’, and ‘:from-end’ keywords are accepted only if ‘collection’ is a seq. Also, on a map, this scans the domain; on success, it returns the corresponding range element as the second value.
If ‘collection’ is a Lisp sequence, this simply calls ‘cl:find-if’. On an FSet collection, the ‘:start’, ‘:end’, and ‘:from-end’ keywords are accepted only if ‘collection’ is a seq. Also, on a map, this scans the domain; on success, it returns the corresponding range element as the second value.
If ‘collection’ is a Lisp sequence, this simply calls ‘cl:find-if-not’.
On an FSet collection, the ‘:start’, ‘:end’, and ‘:from-end’ keywords are
accepted only if ‘collection’ is a seq. Also, on a map, this scans the domain;
on success, it returns the corresponding range element as the second value.
Returns the first element of ‘seq’, i.e., element 0. This has a back- compatibility method for lists, and adds one for CL sequences generally.
fset
.
query-registry
) from-key to-key) ¶Returns a new query-registry in which all queries whose patterns used ‘from-key’ (in an instantiated position) now use ‘to-key’ in that position instead.
On a set, returns two values: the greatest member of the set and
true; on a bag, returns three values: the greatest member of the bag, its
multiplicity, and true; on a map, also returns three values: the greatest key
of the map, its value, and true. If there is not a unique greatest member,
chooses one of the greatest members arbitrarily. Returns ‘nil’ if the
collection is empty.
Returns a new collection containing the result of applying ‘fn’ to each member of ‘collection’, which may be a set, bag, or seq. In the bag case, the multiplicity of each member of the result is the sum of the multiplicities of the values that ‘fn’ maps to it. As well as a Lisp function, ‘fn’ can be a map, or a set (which is treated as mapping its members to true and everything else to false). ‘collection’ can also be a map, in which case ‘fn’ must be a Lisp function of two arguments that returns two values (the map-default of the result is that of ‘collection’); also see ‘compose’.
Returns a new sequence like ‘seq’ but with ‘val’ inserted at ‘idx’ (the seq is extended in either direction if needed prior to the insertion; previously uninitialized indices are filled with the seq’s default).
Returns the intersection of the two sets/bags. The result is a bag
if both arguments are bags; otherwise a set. The intersection of two bags
is the bag whose multiplicity, for any value, is the minimum of its
multiplicities in the two argument bags.
fset
.
bounded-set
) (bs2 bounded-set
) &key) ¶set
) (cs complement-set
) &key) ¶complement-set
) (s set
) &key) ¶complement-set
) (cs2 complement-set
) &key) ¶wb-2-relation
) (br2 wb-2-relation
) &key) ¶interval-set
) (s1 interval-set
) &key) ¶list
) (ls2 list
) &rest keyword-args &key test test-not) ¶The inverse of a binary relation.
fset
.
wb-2-relation
)) ¶Returns an iterator for the collection. (These are stateful iterators and
are not thread-safe; if you want a pure iterator, your best bet is to ‘convert’
the collection to a list.) The iterator is a closure of one argument; given
‘:done?’, it returns true iff the iterator is exhausted; given ‘:more?’, it
returns true iff the iterator is _not_ exhausted. Given ‘:get’, if the iterator
is not exhausted, it returns the next element (or pair, for a map, as two values),
with the second value (third, for a map) being true, and advances one element; if
it is exhausted, it returns two ‘nil’ values (three, for a map).
A relational equijoin, matching up ‘column-a’ of ‘relation-a’ with ‘column-b’ of ‘relation-b’. For a binary relation, the columns are named 0 (domain) and 1 (range).
fset
.
wb-2-relation
) cola (brb wb-2-relation
) colb) ¶Returns the last element of ‘seq’, i.e., element ‘(1- (size seq))’. This has methods for CL lists and sequences that are NOT COMPATIBLE with ‘cl:last’. FSet exports ‘lastcons’ as an arguably better name for the functionality of ‘cl:last’.
On a set, returns two values: the smallest member of the set and
true; on a bag, returns three values: the smallest member of the bag, its
multiplicity, and true; on a map, also returns three values: the smallest key
of the map, its value, and true. If there is not a unique smallest member,
chooses one of the smallest members arbitrarily. Returns ‘nil’ if the
collection is empty.
On a set, removes ‘value1’ from it if present, returning the updated set. On a bag, removes ‘value2’ occurrences of ‘value1’ if present, returning the updated bag; ‘value2’ defaults to 1. On a map, removes the pair whose key is ‘value1’, if present, returning the updated map. On a seq, removes the element at index ‘value1’, if that index is in bounds, and shifts subsequent elements down, returning the updated seq.
fset
.
bounded-set
) x &optional arg2) ¶complement-set
) x &optional arg2) ¶wb-list-relation
) tuple &optional arg2) ¶wb-2-relation
) x &optional y) ¶interval-set
) (iv interval
) &optional arg2) ¶Returns the subsequence of ‘seq’ from element 1 through the end.
Returns the subsequence of ‘seq’ from element 0 through the next-to-last element.
fset
.
query-registry
) (pattern list
) (metapattern list
) query) ¶If ‘collection’ is a map, returns the value to which ‘key’ is mapped. If ‘collection’ is a seq, takes ‘key’ as an index and returns the corresponding member (0-origin, of course). If ‘collection’ is a set or bag that contains a member equal to ‘key’, returns true and the member as two values, else false and ‘nil’; this is useful for canonicalization.
fset
.
query-registry
) tuple) ¶Returns all queries in ‘reg’ whose patterns match ‘tuple’.
wb-2-relation
) x) ¶Returns the set of values that the relation pairs ‘x’ with.
sequence
) (idx integer
)) ¶Does an inverse lookup on a binary relation.
fset
.
wb-2-relation
) y) ¶fset
.
query-registry
) set-tuple) ¶Here ‘set-tuple’ contains a set of values in each position. Returns all queries in ‘reg’ whose patterns match any member of the cartesian product of the sets.
fset
.
query-registry
) set-tuple keys) ¶Here ‘set-tuple’ contains a set of values in each position. Returns all queries in ‘reg’ whose patterns match any member of the cartesian product of the sets and which use a member of ‘keys’ in their patterns.
fset
.
query-registry
) tuple key) ¶Returns all queries in ‘reg’ whose patterns match ‘tuple’ and which use ‘key’ (in an instantiated position) in their patterns.
Returns, as two values: a map containing all the pairs that are in ‘map1’ but not ‘map2’, with the same default as ‘map1’; and one containing all the pairs that are in ‘map2’ but not ‘map1’, with the same default as ‘map2’.
Returns a map containing all the keys that are in the domains of both ‘map1’ and ‘map2’, where the value for each key is the result of calling ‘val-fn’ on the value from ‘map1’ and the value from ‘map2’. ‘val-fn’ defaults to simply returning its second argument, so the entries in ‘map2’ simply shadow those in ‘map1’. The default for the new map is the result of calling ‘val-fn’ on the defaults for the two maps (so be sure it can take these values).
Returns a map containing all the keys of ‘map1’ and ‘map2’, where the value for each key contained in only one map is the value from that map, and the value for each key contained in both maps is the result of calling ‘val-fn’ on the value from ‘map1’ and the value from ‘map2’. ‘val-fn’ defaults to simply returning its second argument, so the entries in ‘map2’ simply shadow those in ‘map1’. The default for the new map is the result of calling ‘val-fn’ on the defaults for the two maps (so be sure it can take these values).
Returns the multiplicity of ‘x’ in the bag.
Returns two values, (filter fn collection) and (filter (cl:complement fn) collection).
If ‘collection’ is a Lisp sequence, this simply calls ‘cl:position’. On an FSet seq, the default for ‘test’ is ‘equal?’, and the ‘:test-not’ keyword is not accepted.
If ‘collection’ is a Lisp sequence, this simply calls ‘cl:position-if’. Also works on an FSet seq.
If ‘collection’ is a Lisp sequence, this simply calls ‘cl:position-if-not’. Also works on an FSet seq.
Along with the relation, takes two lists, of equal length less than
or equal to the arity, called the ‘pattern’ and ‘metapattern’; returns a set
of tuples satisfying the query. For each position, if the metapattern
contains ‘nil’, the query is not constrained by that position (the
corresponding position in the pattern is ignored); if the metapattern
contains ‘t’ or ‘:single’, then the result set contains only those tuples
with the same value in that position as the pattern has. The difference
between ‘t’ and ‘:single’ has to do with indexing. For each metapattern
that is actually used, an index is constructed if not previously present,
and then is maintained incrementally. If the metapattern has ‘t’ in a
location, the resulting index will contain all values for that location; if
it has ‘:single’, the resulting index will contain only those values that
have actually appeared in a query pattern with this metapattern.
fset
.
wb-list-relation
) (pattern list
) (metapattern list
)) ¶Like ‘query’ (q.v.), except that ‘pattern’ is a list of sets of values rather than a list of values. Returns all tuples in the relation for which each value is a member of the corresponding set in the pattern. ‘:single’ in the metapattern is not accepted.
fset
.
wb-list-relation
) (pattern list
) (metapattern list
)) ¶Returns the range of the map, that is, the set of all values to which keys are mapped by the map.
fset
.
wb-2-relation
)) ¶Returns true iff the range of the map or seq contains ‘x’. (The range of a seq is the set of members.) Note that this requires a linear search.
If ‘collection’ is a set or bag that contains ‘value’, returns the rank of ‘value’ in the ordering defined by ‘compare’, and a true second value. If ‘collection’ is a map whose domain contains ‘value’, returns the rank of ‘value’ in the domain of the map, and a true second value. If ‘value’ is not in the collection, the second value is false, and the first value is the rank of the greatest member of the collection less than ‘value’ (if any; otherwise -1). Note that if there are values/keys that are unequal but equivalent to ‘value’, an arbitrary order will be imposed on them for this purpose; but another collection that is ‘equal?’ but not ‘eq’ to this one will in general order them differently. Also, on a bag, multiplicities are ignored for this purpose.
If ‘collection’ is a Lisp sequence, this simply calls ‘cl:reduce’ (q.v.). On an FSet collection, the ‘:start’, ‘:end’, and ‘:from-end’ keywords are accepted only if ‘collection’ is a seq.
If ‘collection’ is a Lisp sequence, this simply calls ‘cl:remove’. On an FSet seq, the default for ‘test’ is ‘equal?’, and the ‘:test-not’ keyword is not accepted.
If ‘collection’ is a Lisp sequence, this simply calls ‘cl:remove-if’. Also works on an FSet seq; but see ‘filter’.
If ‘collection’ is a Lisp sequence, this simply calls ‘cl:remove-if-not’. Also works on an FSet seq; but see ‘filter’.
Returns a map containing only those pairs of ‘map’ whose keys are also in ‘set’.
Returns a map containing only those pairs of ‘map’ whose keys are not in ‘set’.
Returns ‘seq’ in reverse order.
Returns the set difference of set1 and set2, i.e., the set containing every member of ‘set1’ that is not in ‘set2’.
fset
.
bounded-set
) (bs2 bounded-set
) &key) ¶set
) (cs complement-set
) &key) ¶complement-set
) (s set
) &key) ¶complement-set
) (cs2 complement-set
) &key) ¶interval-set
) (s1 interval-set
) &key) ¶list
) (ls2 list
) &rest keyword-args &key test test-not) ¶Returns ‘set1 - set2’ and ‘set2 - set1’ as two values.
Returns the number of unique members in the bag.
Returns the number of members in a set, seq, or bag, or the number of pairs in a map. The size of a bag is the sum of the multiplicities.
fset
.
bounded-set
)) ¶complement-set
)) ¶wb-list-relation
)) ¶wb-2-relation
)) ¶interval-set
)) ¶The number of intervals in the set.
sequence
)) ¶Returns ‘seq’ sorted by ‘pred’, a function of two arguments; if ‘key’ is supplied, it is a function of one argument that is applied to the elements of ‘seq’ before they are passed to ‘pred’. The sort is not guaranteed to be stable. The method for CL sequences copies the sequence first, unlike ‘cl:sort’.
Returns a new sequence like ‘seq’ but with the elements of ‘subseq’ inserted
at ‘idx’ (the seq is extended in either direction if needed prior to the insertion;
previously uninitialized indices are filled with the seq’s default).
Returns ‘seq’ sorted by ‘pred’, a function of two arguments; if ‘key’ is supplied, it is a function of one argument that is applied to the elements of ‘seq’ before they are passed to ‘pred’. The sort is guaranteed to be stable. The method for CL sequences copies the sequence first, unlike ‘cl:stable-sort’.
Returns true iff ‘sub’ is a subbag of ‘super’, that is, for every member of ‘sub’, ‘super’ contains the same value with at least the same multiplicity.
Returns the subsequence of ‘seq’ from ‘start’ (inclusive) to ‘end’ (exclusive), where ‘end’ defaults to ‘(size seq)’.
Returns true iff ‘sub’ is a subset of ‘super’.
fset
.
bounded-set
) (bs2 bounded-set
)) ¶set
) (cs complement-set
)) ¶complement-set
) (s set
)) ¶complement-set
) (cs2 complement-set
)) ¶If ‘collection’ is a Lisp sequence, this simply calls ‘cl:substitute’. On an FSet seq, the default for ‘test’ is ‘equal?’, and the ‘:test-not’ keyword is not accepted.
If ‘collection’ is a Lisp sequence, this simply calls ‘cl:substitute-if’. Also works on an FSet seq.
If ‘collection’ is a Lisp sequence, this simply calls ‘cl:substitute-if-not’. Also works on an FSet seq.
Returns a new tuple containing all the keys of ‘tuple1’ and ‘tuple2’, where the value for each key contained in only one tuple is the value from that tuple, and the value for each key contained in both tuples is the result of calling ‘val-fn’ on the value from ‘tuple1’ and the value from ‘tuple2’. ‘val-fn’ defaults to simply returning its third argument, so the entries in ‘tuple2’ simply shadow those in ‘tuple1’.
fset
.
Returns the union of the two sets/bags. The result is a set if both arguments are sets; otherwise a bag. The union of two bags is a bag whose multiplicity, for any value, is the maximum of its multiplicities in the two argument bags.
fset
.
bounded-set
) (bs2 bounded-set
) &key) ¶set
) (cs complement-set
) &key) ¶complement-set
) (s set
) &key) ¶complement-set
) (cs2 complement-set
) &key) ¶wb-2-relation
) (br2 wb-2-relation
) &key) ¶interval-set
) (s1 interval-set
) &key) ¶list
) (ls2 list
) &rest keyword-args &key test test-not) ¶On a set, adds ‘value1’ to it, returning the updated set. On a bag, adds ‘value2’ occurrences of ‘value1’, returning the updated bag; ‘value2’ defaults to 1. On a map, adds a mapping from ‘value1’ (the key) to ‘value2’, returning the updated map. On a seq, replaces the element at index ‘value1’ with ‘value2’, returning the updated seq (the seq is extended in either direction if needed; previously uninitialized indices are filled with the seq’s default).
fset
.
bounded-set
) x &optional arg2) ¶complement-set
) x &optional arg2) ¶wb-list-relation
) tuple &optional arg2) ¶wb-2-relation
) x &optional y) ¶interval-set
) (iv interval
) &optional arg2) ¶Returns a new map or seq with the same contents as ‘collection’ but whose default is now ‘new-default’.
Returns ‘seq’ with ‘val’ prepended, that is, ‘val’ is element 0 of the result, and the elements of ‘seq’ appear starting at index 1.
Returns ‘seq’ with ‘val’ appended, that is, ‘val’ is element ‘(size seq)’ of the result.
fset
.
query-registry
) (pattern list
) (metapattern list
) query &optional arity) ¶my-sequence
) len &rest args) ¶sb-sequence
.
my-sequence
) index) ¶sb-sequence
.
my-sequence
) index) ¶sb-sequence
.
my-sequence
)) ¶sb-sequence
.
my-sequence
) len &rest args) ¶sb-sequence
.
wb-list-relation
) stream) ¶bounded-set
) stream) ¶wb-2-relation
) stream) ¶wb-set-tree-node
) stream) ¶wb-seq-tree-node
) stream) ¶complement-set
) stream) ¶wb-map-tree-node
) stream) ¶wb-bag-tree-node
) stream) ¶interval-set
) stream) ¶The abstract class for FSet binary relations. It is a structure class.
fset
.
The abstract class for FSet functional bags (multisets). It is a structure class.
fset
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
convert
.
convert
.
convert
.
convert
.
convert
.
convert
.
convert
.
convert
.
count
.
count-if
.
count-if-not
.
filter
.
filter
.
filter
.
filter
.
filter
.
filter
.
filter
.
filter-pairs
.
filter-pairs
.
find
.
find-if
.
find-if-not
.
image
.
image
.
image
.
image
.
image
.
image
.
image
.
partition
.
reduce
.
reduce
.
A "bounded set" is a subset (not necessarily proper) of a specified set, called the "universe". (Topologically, it is a set in the discrete topology on the universe.)
The root class of the FSet functional collections hierarchy. It is a structure class.
A class of functional tuples represented as vectors with dynamically- reordered key vectors. This is the default implementation of tuples in FSet.
The abstract class for FSet list relations. It is a structure class. A list relation is a general relation (i.e. of arbitrary arity >= 2) whose tuples are in list form.
fset
.
The abstract class for FSet functional maps. It is a structure class.
fset
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compose
.
compose
.
convert
.
convert
.
convert
.
convert
.
convert
.
convert
.
convert
.
convert
.
convert
.
count
.
count-if
.
count-if-not
.
default
.
filter
.
filter
.
filter
.
filter
.
filter
.
find
.
find-if
.
find-if-not
.
image
.
image
.
image
.
image
.
image
.
image
.
partition
.
partition
.
range
.
reduce
.
reduce
.
The abstract class for FSet relations. It is a structure class.
fset
.
The abstract class for FSet functional seqs (sequences, but we use the short name to avoid confusion with ‘cl:sequence’). It is a structure class.
fset
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compose
.
compose
.
concat
.
convert
.
convert
.
convert
.
count
.
count-if
.
count-if-not
.
default
.
domain-contains?
.
filter
.
filter
.
filter
.
filter
.
filter
.
find
.
find-if
.
find-if-not
.
image
.
image
.
image
.
image
.
image
.
image
.
partition
.
partition
.
partition
.
partition
.
partition
.
position
.
position-if
.
position-if-not
.
range-contains?
.
reduce
.
reduce
.
remove
.
remove-if
.
remove-if-not
.
sort-and-group
.
substitute
.
substitute-if
.
substitute-if-not
.
The abstract class for FSet functional sets. It is a structure class.
fset
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
complement
.
convert
.
convert
.
convert
.
convert
.
convert
.
count
.
count-if
.
count-if-not
.
disjoint?
.
disjoint?
.
filter
.
filter
.
filter
.
filter
.
filter
.
filter
.
filter
.
find
.
find-if
.
find-if-not
.
image
.
image
.
image
.
image
.
image
.
image
.
image
.
image
.
image
.
intersection
.
intersection
.
multiplicity
.
partition
.
partition
.
partition
.
partition
.
reduce
.
reduce
.
restrict
.
restrict-not
.
set-difference
.
set-difference
.
sort
.
stable-sort
.
subset?
.
subset?
.
transitive-closure
.
transitive-closure
.
union
.
union
.
The abstract class for FSet functional tuples. It is a structure class.
fset
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
convert
.
convert
.
internal-do-tuple
.
lookup
.
restrict
.
restrict-not
.
tuple-merge
.
with
.
A class of functional binary relations represented as pairs of weight- balanced binary trees. This is the default implementation of binary relations in FSet. The inverse is constructed lazily, and maintained incrementally once constructed.
A class of functional bags (multisets) represented as weight-balanced binary trees. This is the default implementation of bags in FSet.
fset
.
bag
.
arb
.
at-rank
.
bag-difference
.
bag-difference
.
bag-difference
.
bag-product
.
bag-product
.
bag-product
.
bag-sum
.
bag-sum
.
bag-sum
.
compare
.
contains?
.
convert
.
convert
.
convert
.
empty?
.
greatest
.
internal-do-bag-pairs
.
intersection
.
intersection
.
intersection
.
iterator
.
least
.
less
.
lookup
.
multiplicity
.
print-object
.
rank
.
set-size
.
size
.
subbag?
.
subbag?
.
subbag?
.
union
.
union
.
union
.
verify
.
with
.
A class of functional relations of arbitrary arity >= 2, whose tuples are in list form.
A class of functional maps represented as weight-balanced binary trees. This is the default implementation of maps in FSet.
fset
.
map
.
arb
.
at-rank
.
compare
.
compose
.
compose
.
compose
.
compose
.
contains?
.
convert
.
domain
.
domain-contains?
.
empty?
.
greatest
.
internal-do-map
.
iterator
.
least
.
less
.
lookup
.
map-difference-2
.
map-intersection
.
map-union
.
print-object
.
range-contains?
.
rank
.
restrict
.
restrict-not
.
size
.
verify
.
with
.
with-default
.
A class of functional seqs (sequences, but we use the short name to avoid confusion with ‘cl:sequence’) represented as weight-balanced binary trees. This is the default implementation of seqs in FSet.
fset
.
seq
.
compare
.
compare-lexicographically
.
convert
.
convert
.
convert
.
convert
.
convert
.
convert
.
domain
.
empty?
.
first
.
insert
.
internal-do-seq
.
iterator
.
last
.
less
.
less-first
.
less-last
.
lookup
.
print-object
.
range
.
reverse
.
size
.
sort
.
splice
.
stable-sort
.
subseq
.
verify
.
with
.
with-default
.
with-first
.
with-last
.
A class of functional sets represented as weight-balanced binary trees. This is the default implementation of sets in FSet.
fset
.
set
.
arb
.
at-rank
.
bag-difference
.
bag-difference
.
bag-product
.
bag-product
.
bag-sum
.
bag-sum
.
compare
.
contains?
.
convert
.
convert
.
convert
.
disjoint?
.
empty?
.
greatest
.
internal-do-set
.
intersection
.
intersection
.
intersection
.
iterator
.
least
.
less
.
lookup
.
print-object
.
rank
.
restrict
.
restrict-not
.
set-difference
.
set-difference-2
.
set-size
.
size
.
split-above
.
split-below
.
split-from
.
split-through
.
subbag?
.
subbag?
.
subset?
.
union
.
union
.
union
.
verify
.
with
.
A mixin class for classes whose instances will be used in FSet collections, and for which the appropriate equivalence relation is identity (‘eq’). This is the right choice for the vast majority of mutable classes.
fset
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
(setf serial-number)
.
serial-number
.
(atomic-incf fset::*sbcl-next-serial-number*)
This limits the number of tuple-keys that can exist in a session.
Controls how often we do tuple reordering. Must be 2^n - 1 for some n.
fset
.
This limits the number of key/value pairs in any tuple.
A copy of the standard readtable with the rereading FSet reader macros installed. This readtable can be used to read structure printed by the FSet print functions.
fset
.
The reorder score that triggers a major reordering.
fset
.
fset
.
Iterates over the pairs of the bag, for each one binding ‘val-var’ to the value and ‘count-var’ to its member count.
fset
.
fset
.
fset
.
fset
.
fset
.
Returns a list, of the same length as the pattern, which is like the metapattern except that each ‘:single’ has been replaced by a cons of ‘:single’ and the corresponding pattern element.
fset
.
The number of values represented by ‘value’, which can be more than 1 if ‘key’ is an ‘Equivalent-Bag’.
fset
.
fset
.
fset
.
Second value is true if the two abut. ‘:equal’ means they overlap.
fset
.
fset
.
fset
.
fset
.
fset
.
Compares two pairs where the key of either or both may be an ‘Equivalent-Bag’.
fset
.
fset
.
Compares two pairs where the key of either or both may be an ‘Equivalent-Map’.
fset
.
Both ‘key1’ and ‘key2’ may be single values (representing a single key/value pair) or ‘Equivalent-Map’s of key/value pairs. That is, if ‘key1’ is a ‘Equivalent-Map’, ‘val1’ is ignored, and similarly for ‘key2’ and ‘val2’. If the difference is nonnull, returns two or three values: if it is a single pair, returns true, the key, and the value; if it is more than one pair, returns true and an ‘Equivalent-Map’ of the pairs. If the difference is empty, returns false.
fset
.
Both ‘key1’ and ‘key2’ may be single values (representing a single key/value pair) or ‘Equivalent-Map’s of key/value pairs. That is, if ‘key1’ is a ‘Equivalent-Map’, ‘val1’ is ignored, and similarly for ‘key2’ and ‘val2’. If the intersection is nonnull, returns two or three values: if it is a single pair, returns true, the key, and the value; if it is more than one pair, returns true and an ‘Equivalent-Map’ of the pairs. If the intersection is null, returns false.
fset
.
Removes the pair associated with ‘key’ from ‘eqvm’, an ‘Equivalent-Map’. If the result is a single pair, it’s returned as two values; otherwise one value is returned, which is an ‘Equivalent-Map’.
fset
.
Both ‘key1’ and ‘key2’ may be single values (representing a single key/value pair) or ‘Equivalent-Map’s of key/value pairs. That is, if ‘key1’ is a ‘Equivalent-Map’, ‘val1’ is ignored, and similarly for ‘key2’ and ‘val2’. Returns one or more new key/value pairs in which the "2" pairs override the "1" pairs. If the result is a single pair, it’s returned as two values; otherwise one value is returned, which is an ‘Equivalent-Map’.
fset
.
Both ‘val1’ and ‘val2’ may be single values (representing singleton sets) or ‘Equivalent-Set’s of values. If their difference is nonnull, returns two values: true, and the difference, represented as a single value if a singleton, else as an ‘Equivalent-Set’. If the difference is null, returns ‘nil’.
fset
.
Both ‘val1’ and ‘val2’ may be single values (representing singleton sets) or ‘Equivalent-Set’s of values. If their intersection is null, returns true, else false.
fset
.
Both ‘val1’ and ‘val2’ may be single values (representing singleton sets) or ‘Equivalent-Set’s of values. If their intersection is nonnull, returns two values: true, and the intersection, represented as a single value if a singleton, else as an ‘Equivalent-Set’. If the intersection is null, returns ‘nil’.
fset
.
fset
.
Both ‘val1’ and ‘val2’ may be single values (representing singleton sets) or ‘Equivalent-Set’s of values. Returns true iff ‘val2’ contains all members of ‘val1’.
fset
.
Both ‘val1’ and ‘val2’ may be single values (representing singleton sets) or ‘Equivalent-Set’s of values. Returns their union represented as a single value if a singleton, else as an ‘Equivalent-Set’.
fset
.
FSet generic version of ‘cl:every’.
Adds the FSet rereading reader macros to ‘readtable’. These reader macros will correctly read structure printed by the FSet print functions. Returns ‘readtable’.
fset
.
Returns a list giving the index to use for each element of ‘augmented-mp’.
fset
.
fset
.