A collection of tools for dealing with key/value data structures such as plists, alists and hash-tables.
Return the alist filtered to the keys list.
Only pairs where the car is a member of keys will be returned.
Convert alist to a HASH.
hash-table-args are passed to the hash-table creation.
Get just the keys from the alist.
Convert an alist to a plist.
Get just the values from the alist.
Convert the keys of alist through fn.
Convert the keys of alist into symbols.
Sort alist (by key) with pred.
Sort alist by value with pred.
Reduce the alist2 (a list of alists) to a single alist.
car-key is the key of each alist to use as the resulting key and cdr-key is the key of each alist to user as the resulting cdr.
If proper is t then the alist is a list of proper lists, not cons cells.
Return the alist2 (a list of alists) filtered to the keys.
Convert a list of alists too a list of plists.
Do a comparison of the two values using printable syntax.
Use this as the function to pass to sort.
Dotted expression handling with assoc.
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.
Dotted expression handling with assq.
Convert hash to an ALIST.
A hybrid of destructuring-bind and mapcar args shall be of the form used with destructuring-bind
Unlike most other mapping forms this is a macro intended to be used for structural transformations, so the expected usage will be that args describes the structure of the items in seq, and sexp will describe the structure desired.
Convert plist to an alist.
The keys are expected to be :prefixed and the colons are removed. The keys in the resulting alist are symbols.
Filter the plist to just those matching keys.
keys must actually be :-less symbols.
kvalist->filter-keys is actually used to do this work.
Merge the 2nd and subsequent plists into the first, clobbering values set by lists to the left.
Return the plist2 (a list of plists) filtered to the keys.