multi-trie

Trie of sets, as a model for compound names having multiple values

https://github.com/vadimvinnik/multi-trie

Latest on Hackage:0.1

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.

MIT licensed and maintained by Vadim Vinnik

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.