summaryrefslogtreecommitdiff
path: root/README.creole
blob: 473d1e154213598d4f2eb4da11131eca4b24041c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
A collection of tools for dealing with key/value data structures such
as plists, alists and hash-tables.

=== kvalist->hash alist &rest hash-table-args ===

Convert //alist// to a HASH.

//hash-table-args// are passed to the hash-table creation.


=== kvalist->keys alist ===

Get just the keys from the alist.


=== kvalist->plist alist ===

Convert an alist to a plist.


=== kvalist->values alist ===

Get just the values from the alist.


=== kvalist-sort alist pred ===

Sort //alist// (by key) with //pred//.


=== kvalist-sort-by-value alist pred ===

Sort //alist// by value with //pred//.


=== kvdotassoc expr table ===

Dotted expression handling with [[assoc]].


=== kvdotassoc-fn expr table func ===

Use the dotted //expr// to access deeply nested data in //table//.

//expr// is a dot separated expression, either a symbol or a string.
For example:

{{{
 "a.b.c"
}}}

or:

{{{
 'a.b.c
}}}

If the //expr// is a symbol then the keys of the alist are also
expected to be symbols.

//table// is expected to be an alist currently.

//func// is some sort of [[assoc]] like function.


=== kvdotassq expr table ===

Dotted expression handling with [[assq]].


=== kvhash->alist hash ===

Convert //hash// to an ALIST.