I've updated documentation and a few code enhancements since release https://github.com/Pascal-J/kv
Definition of a dictionary: A datastructure such that when provided with a list of keys a get function will retrieve the latest value associated with that key as a result of latest set/add/del operations that could have modified that associated value. If a requested retrival key has no associated value, then nothing is returned, where in a list of requested keys, nothing combined with other requested values is the list of the other values. key implementation features: If a user only uses set/del modifiers after loading or optimizing to a unique dictionary, then the dictionary will remain in unique state. a user may use special add1 function to place kv in non-unique state. get and filter will still operate as if unique. in non unique mode, filtall and delall will affect multiple values. set/del/get operate on last key occurrence + related value. keys are stored as a table of symbols. Values as a table of numeric, string, or boxed values. Table width for simplest keys and values is 1. This allows multikey keys or metainfo after first key. Allows inverted table or associated array datastructures. Boxed values permit embedded keyed dictionaries. keyed data/value access is similar to J locale access to data/functions. An embedded dictionary is an association of data variables that replaces use for a locale/datastructure. A dictionary or dictionary hierarchy is a single J entity that can be serialized/deserialized with 3!:1 , 3!:2 ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm