This is the com.clearly-useful.generic-collection-interface Reference Manual, version 0.2.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Tue Jul 15 04:47:06 2025 GMT+0.
com.clearly-useful.generic-collection-interface/com.clearly-useful.generic-collection-interface.asdcom.clearly-useful.generic-collection-interface/package.lispcom.clearly-useful.generic-collection-interface/features.lispcom.clearly-useful.generic-collection-interface/protocols.lispcom.clearly-useful.generic-collection-interface/internal-utils.lispcom.clearly-useful.generic-collection-interface/macros.lispcom.clearly-useful.generic-collection-interface/methods.lispcom.clearly-useful.generic-collection-interface/conversions.lispcom.clearly-useful.generic-collection-interface/reduceable-base.lispcom.clearly-useful.generic-collection-interface/foldable-base.lispcom.clearly-useful.generic-collection-interface/base-methods.lispcom.clearly-useful.generic-collection-interface/default-methods.lispcom.clearly-useful.generic-collection-interface/conj.lispcom.clearly-useful.generic-collection-interface/parallel.lispcom.clearly-useful.generic-collection-interface/builtins.lispcom.clearly-useful.generic-collection-interface/com.clearly-useful.generic-collection-interface.lispcom.clearly-useful.indexable-protocolcom.clearly-useful.countable-protocolcom.clearly-useful.collection-protocolcom.clearly-useful.sequence-protocolcom.clearly-useful.generic-collection-interfacecom.clearly-useful.foldable-protocolcom.clearly-useful.reduceable-protocolcom.clearly-useful.associative-protocolThe main system appears first, followed by any subsystem dependency.
com.clearly-useful.generic-collection-interfacegeneric collection interfaces for common lisp
Jason Aeschliman <j.aeschliman@gmail.com>
revised BSD
0.2.1
com.clearly-useful.protocols (system).
bordeaux-threads (system).
lparallel (system).
package.lisp (file).
features.lisp (file).
protocols.lisp (file).
internal-utils.lisp (file).
macros.lisp (file).
methods.lisp (file).
conversions.lisp (file).
reduceable-base.lisp (file).
foldable-base.lisp (file).
base-methods.lisp (file).
default-methods.lisp (file).
conj.lisp (file).
parallel.lisp (file).
builtins.lisp (file).
com.clearly-useful.generic-collection-interface.lisp (file).
Files are sorted by type and then listed depth-first from the systems components trees.
com.clearly-useful.generic-collection-interface/com.clearly-useful.generic-collection-interface.asdcom.clearly-useful.generic-collection-interface/package.lispcom.clearly-useful.generic-collection-interface/features.lispcom.clearly-useful.generic-collection-interface/protocols.lispcom.clearly-useful.generic-collection-interface/internal-utils.lispcom.clearly-useful.generic-collection-interface/macros.lispcom.clearly-useful.generic-collection-interface/methods.lispcom.clearly-useful.generic-collection-interface/conversions.lispcom.clearly-useful.generic-collection-interface/reduceable-base.lispcom.clearly-useful.generic-collection-interface/foldable-base.lispcom.clearly-useful.generic-collection-interface/base-methods.lispcom.clearly-useful.generic-collection-interface/default-methods.lispcom.clearly-useful.generic-collection-interface/conj.lispcom.clearly-useful.generic-collection-interface/parallel.lispcom.clearly-useful.generic-collection-interface/builtins.lispcom.clearly-useful.generic-collection-interface/com.clearly-useful.generic-collection-interface.lispcom.clearly-useful.generic-collection-interface/com.clearly-useful.generic-collection-interface.asdcom.clearly-useful.generic-collection-interface/features.lisppackage.lisp (file).
com.clearly-useful.generic-collection-interface/protocols.lispfeatures.lisp (file).
all-keys (generic function).
all-values (generic function).
associative (generic function).
associative (type).
coll-fold (generic function).
coll-reduce (generic function).
collection (type).
collection-p (function).
contains-key-p (generic function).
count-elements (generic function).
countable (generic function).
countable (type).
countable-p (function).
counted-p (generic function).
element-at (generic function).
empty (generic function).
empty-p (generic function).
foldable (type).
foldable-p (function).
head (generic function).
indexable (generic function).
indexable (type).
indexable-p (function).
reduceable (type).
reduceable-p (function).
seq (generic function).
seq (type).
seq-p (function).
seqable (type).
seqable-p (function).
tail (generic function).
value-for-key (generic function).
associative-p (function).
com.clearly-useful.generic-collection-interface/internal-utils.lispprotocols.lisp (file).
%adjustable (function).
%dup-hash (function).
%empty-hash (function).
%interface-package (function).
define-interface-package (macro).
subvec (function).
com.clearly-useful.generic-collection-interface/macros.lispinternal-utils.lisp (file).
doindexable (macro).
doseq (macro).
com.clearly-useful.generic-collection-interface/methods.lispmacros.lisp (file).
all-keys-and-values (generic function).
getkey (function).
seq-to-list (function).
com.clearly-useful.generic-collection-interface/conversions.lispmethods.lisp (file).
all-keys (method).
all-values (method).
associative (method).
contains-key-p (method).
count-elements (method).
count-elements (method).
countable (method).
countable (method).
counted-p (method).
counted-p (method).
element-at (method).
element-at (method).
empty (method).
empty (method).
empty (method).
empty (method).
empty-p (method).
empty-p (method).
empty-p (method).
empty-p (method).
head (method).
head (method).
indexable (method).
indexable (method).
seq (method).
seq (method).
tail (method).
tail (method).
value-for-key (method).
%associative-to-indexable (function).
%count-seq (function).
%countable-associative (structure).
%countable-associative-countable (reader).
(setf %countable-associative-countable) (writer).
%countable-associative-length (reader).
(setf %countable-associative-length) (writer).
%countable-associative-p (function).
%countable-sequence (structure).
%countable-sequence-countable (reader).
(setf %countable-sequence-countable) (writer).
%countable-sequence-index (reader).
(setf %countable-sequence-index) (writer).
%countable-sequence-length (reader).
(setf %countable-sequence-length) (writer).
%countable-sequence-p (function).
%countable-sequence-size (function).
%countable-to-associative (function).
%countable-to-seq (function).
%next-countable-sequence (function).
%next-range (function).
%range (structure).
%range-high (reader).
(setf %range-high) (writer).
%range-low (reader).
(setf %range-low) (writer).
%range-p (function).
%range-size (function).
%seq-countable (structure).
%seq-countable-contains-index (function).
%seq-countable-count (function).
%seq-countable-fully-counted (reader).
(setf %seq-countable-fully-counted) (writer).
%seq-countable-p (function).
%seq-countable-seq (reader).
(setf %seq-countable-seq) (writer).
%seq-countable-ubound (reader).
(setf %seq-countable-ubound) (writer).
%seq-indexable-by (function).
%seq-nth-or-error (function).
%seq-nth-or-nil-with-values (function).
%seq-to-associative (function).
%seq-to-countable (function).
%seq-to-list (function).
copy-%countable-associative (function).
copy-%countable-sequence (function).
copy-%range (function).
copy-%seq-countable (function).
implements-protocol? (method).
implements-protocol? (method).
implements-protocol? (method).
implements-protocol? (method).
implements-protocol? (method).
implements-protocol? (method).
implements-protocol? (method).
implements-protocol? (method).
implements-protocol? (method).
implements-protocol? (method).
implements-protocol? (method).
implements-protocol? (method).
implements-protocol? (method).
make-%countable-associative (function).
make-%countable-sequence (function).
make-%range (function).
make-%seq-countable (function).
com.clearly-useful.generic-collection-interface/reduceable-base.lispconversions.lisp (file).
coll-reduce (method).
filtering (function).
fold-left (function).
mapcatting (function).
mapping (function).
monoid (function).
reduced (function).
reducer (function).
%reduce (function).
%reducer (structure).
%reducer-coll (reader).
(setf %reducer-coll) (writer).
%reducer-p (function).
%reducer-transformer (reader).
(setf %reducer-transformer) (writer).
copy-%reducer (function).
implements-protocol? (method).
make-%reducer (function).
reduce-indexable (function).
reduce-seq (function).
reduceable-reduce (function).
com.clearly-useful.generic-collection-interface/foldable-base.lispreduceable-base.lisp (file).
%folder (structure).
%folder-coll (function).
(setf %folder-coll) (function).
%folder-p (function).
%folder-transformer (function).
(setf %folder-transformer) (function).
copy-%folder (function).
implements-protocol? (method).
make-%folder (function).
with-fold-kernel (macro).
com.clearly-useful.generic-collection-interface/base-methods.lispfoldable-base.lisp (file).
associative (method).
coll-fold (method).
coll-reduce (method).
countable (method).
indexable (method).
seq (method).
com.clearly-useful.generic-collection-interface/default-methods.lispbase-methods.lisp (file).
all-keys (method).
all-values (method).
contains-key-p (method).
count-elements (method).
counted-p (method).
element-at (method).
head (method).
tail (method).
value-for-key (method).
com.clearly-useful.generic-collection-interface/conj.lispdefault-methods.lisp (file).
%hash-conj! (function).
%vector-conj! (function).
com.clearly-useful.generic-collection-interface/parallel.lispconj.lisp (file).
%%%%.defpun.fold-vector (function).
fold-vector (function).
com.clearly-useful.generic-collection-interface/builtins.lispparallel.lisp (file).
all-keys (method).
all-keys (method).
all-keys (method).
all-keys (method).
all-keys (method).
all-keys-and-values (method).
all-values (method).
all-values (method).
all-values (method).
all-values (method).
all-values (method).
associative (method).
associative (method).
associative (method).
associative (method).
associative (method).
coll-fold (method).
coll-reduce (method).
coll-reduce (method).
coll-reduce (method).
coll-reduce (method).
coll-reduce (method).
contains-key-p (method).
contains-key-p (method).
contains-key-p (method).
contains-key-p (method).
contains-key-p (method).
count-elements (method).
count-elements (method).
count-elements (method).
count-elements (method).
count-elements (method).
countable (method).
countable (method).
countable (method).
countable (method).
countable (method).
counted-p (method).
counted-p (method).
counted-p (method).
counted-p (method).
counted-p (method).
element-at (method).
element-at (method).
element-at (method).
empty (method).
empty (method).
empty (method).
empty (method).
empty (method).
empty-p (method).
empty-p (method).
empty-p (method).
empty-p (method).
empty-p (method).
head (method).
head (method).
head (method).
indexable (method).
indexable (method).
indexable (method).
seq (method).
seq (method).
seq (method).
seq (method).
seq (method).
tail (method).
tail (method).
tail (method).
value-for-key (method).
value-for-key (method).
value-for-key (method).
value-for-key (method).
value-for-key (method).
com.clearly-useful.generic-collection-interface/com.clearly-useful.generic-collection-interface.lispbuiltins.lisp (file).
Packages are listed by definition order.
com.clearly-useful.indexable-protocolcom.clearly-useful.countable-protocolcom.clearly-useful.collection-protocolcom.clearly-useful.sequence-protocolcom.clearly-useful.generic-collection-interfacecom.clearly-useful.foldable-protocolcom.clearly-useful.reduceable-protocolcom.clearly-useful.associative-protocolcom.clearly-useful.indexable-protocolInterface to the indexable protocol
com.clearly-useful.generic-collection-interface.
common-lisp.
com.clearly-useful.countable-protocolInterface to the countable protocol
com.clearly-useful.generic-collection-interface.
common-lisp.
com.clearly-useful.collection-protocolInterface to the collection protocol
com.clearly-useful.generic-collection-interface.
common-lisp.
com.clearly-useful.sequence-protocolInterface to the sequence protocol
com.clearly-useful.generic-collection-interface.
common-lisp.
com.clearly-useful.generic-collection-interfacecom.clearly-useful.protocols.
common-lisp.
lparallel.
all-keys (generic function).
all-keys-and-values (generic function).
all-values (generic function).
associative (generic function).
associative (type).
coll-fold (generic function).
coll-reduce (generic function).
collection (type).
collection-p (function).
conj (generic function).
contains-key-p (generic function).
count-elements (generic function).
countable (generic function).
countable (type).
countable-p (function).
counted-p (generic function).
doindexable (macro).
doseq (macro).
element-at (generic function).
empty (generic function).
empty-p (generic function).
filtering (function).
fold (function).
fold-left (function).
foldable (type).
foldable-p (function).
folder (function).
getkey (function).
head (generic function).
indexable (generic function).
indexable (type).
indexable-p (function).
into (function).
mapcatting (function).
mapping (function).
monoid (function).
reduceable (type).
reduceable-p (function).
reduced (function).
reducer (function).
seq (generic function).
seq (type).
seq-p (function).
seq-to-list (function).
seqable (type).
seqable-p (function).
tail (generic function).
value-for-key (generic function).
%%%%.defpun.fold-vector (function).
%adjustable (function).
%associative-to-indexable (function).
%count-seq (function).
%countable-associative (structure).
%countable-associative-countable (reader).
(setf %countable-associative-countable) (writer).
%countable-associative-length (reader).
(setf %countable-associative-length) (writer).
%countable-associative-p (function).
%countable-sequence (structure).
%countable-sequence-countable (reader).
(setf %countable-sequence-countable) (writer).
%countable-sequence-index (reader).
(setf %countable-sequence-index) (writer).
%countable-sequence-length (reader).
(setf %countable-sequence-length) (writer).
%countable-sequence-p (function).
%countable-sequence-size (function).
%countable-to-associative (function).
%countable-to-seq (function).
%dup-hash (function).
%empty-hash (function).
%folder (structure).
%folder-coll (function).
(setf %folder-coll) (function).
%folder-p (function).
%folder-transformer (function).
(setf %folder-transformer) (function).
%hash-conj! (function).
%interface-package (function).
%next-countable-sequence (function).
%next-range (function).
%range (structure).
%range-high (reader).
(setf %range-high) (writer).
%range-low (reader).
(setf %range-low) (writer).
%range-p (function).
%range-size (function).
%reduce (function).
%reducer (structure).
%reducer-coll (reader).
(setf %reducer-coll) (writer).
%reducer-p (function).
%reducer-transformer (reader).
(setf %reducer-transformer) (writer).
%seq-countable (structure).
%seq-countable-contains-index (function).
%seq-countable-count (function).
%seq-countable-fully-counted (reader).
(setf %seq-countable-fully-counted) (writer).
%seq-countable-p (function).
%seq-countable-seq (reader).
(setf %seq-countable-seq) (writer).
%seq-countable-ubound (reader).
(setf %seq-countable-ubound) (writer).
%seq-indexable-by (function).
%seq-nth-or-error (function).
%seq-nth-or-nil-with-values (function).
%seq-to-associative (function).
%seq-to-countable (function).
%seq-to-list (function).
%vector-conj! (function).
associative-p (function).
copy-%countable-associative (function).
copy-%countable-sequence (function).
copy-%folder (function).
copy-%range (function).
copy-%reducer (function).
copy-%seq-countable (function).
define-interface-package (macro).
fold-vector (function).
make-%countable-associative (function).
make-%countable-sequence (function).
make-%folder (function).
make-%range (function).
make-%reducer (function).
make-%seq-countable (function).
reduce-indexable (function).
reduce-seq (function).
reduceable-reduce (function).
subvec (function).
with-fold-kernel (macro).
com.clearly-useful.foldable-protocolInterface to the foldable protocol
com.clearly-useful.generic-collection-interface.
common-lisp.
com.clearly-useful.reduceable-protocolInterface to the reduceable protocol
com.clearly-useful.generic-collection-interface.
common-lisp.
com.clearly-useful.associative-protocolInterface to the associative protocol
com.clearly-useful.generic-collection-interface.
common-lisp.
Definitions are sorted by export status, category, package, and then by lexicographic order.
bind var to each item in (element-at indexed n)
and execute body.
where n is 0..(count-elements indexed)
and indexed is (indexable form)
similar to dolist.
bind var to each item in (seq form) and execute body. similar to dolist.
test if object implements COLLECTION
test if object implements COUNTABLE
test if object implements FOLDABLE
calls associative on object. if the result contains key, returns value-for-key, else default
test if object implements INDEXABLE
test if object implements REDUCEABLE
test if object implements SEQ
a fresh list will all elements of seq
test if object implements SEQABLE
a seq of all keys in o
hash-table)) ¶array)) ¶vector)) ¶cons)) ¶null)) ¶%countable-associative)) ¶return a seq of proper lists in the form (key value)
a seq of all values in o
hash-table)) ¶array)) ¶vector)) ¶cons)) ¶null)) ¶%countable-associative)) ¶convert an object to ASSOCIATIVE protocol, or error.
hash-table)) ¶array)) ¶vector)) ¶cons)) ¶null)) ¶%countable-associative)) ¶hash-table) fn seed) ¶array) fn seed) ¶vector) fn seed) ¶cons) fn seed) ¶null) fn seed) ¶whether o contains k
hash-table) k) ¶array) key) ¶vector) key) ¶cons) key) ¶null) k) ¶%countable-associative) key) ¶the number of elements in o
hash-table)) ¶array)) ¶vector)) ¶cons)) ¶null)) ¶%seq-countable)) ¶convert an object to COUNTABLE protocol, or error.
hash-table)) ¶array)) ¶vector)) ¶cons)) ¶null)) ¶%seq-countable)) ¶whether a collection is counted in constant time
hash-table)) ¶array)) ¶vector)) ¶cons)) ¶null)) ¶%seq-countable)) ¶the element of o at index, or raise an error
an empty version of this collection
hash-table)) ¶array)) ¶vector)) ¶cons)) ¶null)) ¶%seq-countable)) ¶%countable-associative)) ¶%countable-sequence)) ¶wether this collection is empty
hash-table)) ¶array)) ¶vector)) ¶cons)) ¶null)) ¶%seq-countable)) ¶%countable-associative)) ¶%countable-sequence)) ¶first element
convert an object to INDEXABLE protocol, or error.
return a seq (or nil if count = 0) or error
hash-table)) ¶array)) ¶vector)) ¶cons)) ¶null)) ¶%countable-sequence)) ¶the rest of the collection or nil
returns the value of k in o and t, or (values nil nil)
hash-table) k) ¶array) key) ¶vector) key) ¶cons) index) ¶null) k) ¶%countable-associative) key) ¶a dictionary-like abstraction
a collection knows if it is empty, and can produce an empty version of itself
countable collection
a thing that may be indexed
a list-like abstraction
a thing that may be converted to a seq default implementation provided for indexable, associative and seq.
create a package named name with documentation which uses :cl and *package*, exporting the symbols of exports.
return the next range by incrementing the lower bound of range, or nil
high.
low.
the number of elements in a range
coll.
seq.
test if object implements ASSOCIATIVE
%seq-countable) (protocol (eql #<com.clearly-useful.protocols::protocol {100ac43f73}>))) ¶com.clearly-useful.protocols.
%seq-countable) (protocol (eql #<com.clearly-useful.protocols::protocol {100ac43f83}>))) ¶com.clearly-useful.protocols.
%seq-countable) (protocol (eql #<com.clearly-useful.protocols::protocol {100ac43f93}>))) ¶com.clearly-useful.protocols.
%countable-associative) (protocol (eql #<com.clearly-useful.protocols::protocol {100ac43fa3}>))) ¶com.clearly-useful.protocols.
%countable-associative) (protocol (eql #<com.clearly-useful.protocols::protocol {100ac43f93}>))) ¶com.clearly-useful.protocols.
%countable-sequence) (protocol (eql #<com.clearly-useful.protocols::protocol {100ac43fb3}>))) ¶com.clearly-useful.protocols.
%countable-sequence) (protocol (eql #<com.clearly-useful.protocols::protocol {100ac43fc3}>))) ¶com.clearly-useful.protocols.
%countable-sequence) (protocol (eql #<com.clearly-useful.protocols::protocol {100ac43f93}>))) ¶com.clearly-useful.protocols.
%folder) (protocol (eql #<com.clearly-useful.protocols::protocol {100ad99eb3}>))) ¶com.clearly-useful.protocols.
%range) (protocol (eql #<com.clearly-useful.protocols::protocol {100ac43f73}>))) ¶com.clearly-useful.protocols.
%range) (protocol (eql #<com.clearly-useful.protocols::protocol {100ac43f83}>))) ¶com.clearly-useful.protocols.
%range) (protocol (eql #<com.clearly-useful.protocols::protocol {100ac43fb3}>))) ¶com.clearly-useful.protocols.
%range) (protocol (eql #<com.clearly-useful.protocols::protocol {100ac43fc3}>))) ¶com.clearly-useful.protocols.
%range) (protocol (eql #<com.clearly-useful.protocols::protocol {100ac43f93}>))) ¶com.clearly-useful.protocols.
%reducer) (protocol (eql #<com.clearly-useful.protocols::protocol {100ac43f63}>))) ¶com.clearly-useful.protocols.
an immutable integer range from low to high, exclusive.
| Jump to: | %
(
A C D E F G H I M R S T V W |
|---|
| Jump to: | %
(
A C D E F G H I M R S T V W |
|---|
| Jump to: | C F H I L S T U |
|---|
| Jump to: | C F H I L S T U |
|---|
| Jump to: | %
A B C D F I M P R S T |
|---|
| Jump to: | %
A B C D F I M P R S T |
|---|