multi-trie-0.1: multi-trie.cabal
name: multi-trie
version: 0.1
cabal-version: >=1.8
build-type: Simple
author: Vadim Vinnik <vadim.vinnik@gmail.com>
maintainer: Vadim Vinnik <vadim.vinnik@gmail.com>
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