name: multi-trie version: 0.1 cabal-version: >=1.8 build-type: Simple author: Vadim Vinnik maintainer: Vadim Vinnik synopsis: Trie of sets, as a model for compound names having multiple values homepage: https://github.com/vadimvinnik/multi-trie category: Data copyright: Vadim Vinnik, 2016 license: MIT license-file: LICENSE extra-doc-files: tex/multi-trie.tex 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'. source-repository head type: Git location: https://github.com/vadimvinnik/multi-trie library build-depends: base == 4.*, containers, composition >= 1.0.2.1 hs-source-dirs: src/ ghc-options: -Wall exposed-modules: Data.MultiTrie test-suite Spec type: exitcode-stdio-1.0 main-is: Spec.hs ghc-options: -Wall -rtsopts build-depends: base >= 4, HTF > 0.9, multi-trie, containers other-modules: MultiTrieTest hs-source-dirs: tests