Collections are aggregate data structures mapping keys to values.
Collections can be almost entirely defined in terms of an enumeration class.
<col> | (<any>) | C |
<col.> | (<col>) | C |
| immutable collections. | |
fab | (t|(t< <col>) n|<int> => <col>) | G |
| returns a new instance of collection type t of len
n. | |
col | (t|(t< <col>) key-vals|... => <col>) | G |
| returns new collection of type t with initial key values
key-vals. | |
fabs | (t|(t< <col>) elts|... => <col>) | G |
| returns new collection of type t with initial values
elts and keys (below (len elts)). | |
len | (x|<col> => <int>) | G |
| returns number of collection elements. | |
col-res-type | (x|<col> => <type>) | G |
| appropriate instantiable type for creating collection results,
where the default is (class-of x). | |
empty? | (x|<col> => <log>) | G |
| == (= (len x) 0) | |
empty | (x|(t< <col>) => <col>) | G |
| returns collection specific unique empty value. | |
key-test | (x|<col> => test|<fun>) | G |
| returns collection's key equality function. | |
| (x|<col> => (t= ==)) | M |
| default key-test is identity function. | |
key-type | (x|<col> => <type>) | G |
| returns collection x's key type. | |
elt-type | (x|<col> => <type>) | G |
| returns collection x's element type. | |
elt | (x|<col> k|<any> => <any>) | G |
| returns collection x's element associated with key k. | |
'[' ... ']' | '[' ,x ,k ']' | S |
| == (elt ,x ,k) | |
elt-or | (x|<col> k d => <any>) | G |
| returns collection x's element associated with key
k or default d if it doesn't exist. | |
mem? | (x|<col> y|<any> => <log>) | G |
| returns true iff y is an element of x. | |
add | (x|<col> y|<any> => <col>) | G |
| returns collection with y added to x. | |
elts | (x|<col> keys|<seq> => <col>) | G |
| subset of elements of x corresponding to keys keys. | |
dup | (x|<col> => <col>) | G |
| returns shallow copy of x. | |
keys | (x|<col> => <seq>) | G |
| returns x's keys. | |
items | (x|<col> => <seq>) | G |
| returns a sequence of x's key/val tuples. | |
del | (x|<col> key|<any> => <col>) | G |
| returns copy of x's without element corresponding to key. | |
zap | (x|<col> => <col>) | G |
| returns empty copy of x. | |
fill | (x|<col> y|<any> => <col>) | G |
| returns copy of x with all values being y. | |
any? | (f|<fun> x|<col> => <log>) | G |
| returns true iff any of x's element satisfies
given predicate f. | |
find | (f|<fun> x|<col> => <any>) | G |
| returns key associated with first of x's values to
satisfy predicate f. | |
find-or | (f|<fun> x|<col> default => <any>) | G |
| returns key associated with first of x's values to
satisfy predicate f or default if not found. | |
all? | (f|<fun> x|<col> => <log>) | G |
| returns true iff all of x's elements satisfies
given predicate f. | |
fold | (f|<fun> init|<any> x|<col> => <col>) | G |
| == (f (f ... (f init (elt x 0)) (elt x (- n 2)))
(elt x (- n 1))) | |
fold+ | (f|<fun> x|<col> => <any>) | G |
| == (f (f ... (f (elt x 0) (elt x 1)) (elt x (- n 2)))
(elt x (- n 1))) | |
do | (f|<fun> x|<col>) | G |
| iterates function f over values of x for side-effect. | |
map | (f|<fun> x|<col> => <col>) | G |
| iterates function f over values of given
collections and collects the results. | |
|