Description
Trie of sets, as a model for compound names having multiple values.
Description
A multi-trie is a trie (i.e. a tree whose child nodes have distinct labels) with each node containing a list of values. This data structure represents a structured many-valued naming: names are compound and form a monoid under concatenation; each name can have multiple values. Some operations could be defined for multi-tries in a rather natural way, including map
, union
, intersection
, cartesian
product. Moreover, a multi-trie can contain not only ordinary values but also functions that makes it possible to apply a multi-trie of functions to a multi-trie of argument values. This makes MultiTrie
an instance of Functor
, Applicative
and Monad
.