tries-0.0.1: Various trie implementations in Haskell

Safe HaskellNone
LanguageHaskell2010

Data.Trie.Map

Contents

Synopsis

One Step

newtype MapStep c p a Source

Constructors

MapStep 

Fields

unMapStep :: Map p (Maybe a, Maybe (c p a))
 

Instances

(Ord p, Trie NonEmpty p c) => Trie NonEmpty p (MapStep c) Source 
Functor (c p) => Functor (MapStep c p) Source 
Foldable (c p) => Foldable (MapStep c p) Source 
Traversable (c p) => Traversable (MapStep c p) Source 
(Eq p, Eq a, Eq (c p a)) => Eq (MapStep c p a) Source 
(Ord p, Ord a, Ord (c p a)) => Ord (MapStep c p a) Source 
(Show p, Show a, Show (c p a)) => Show (MapStep c p a) Source 
(Ord s, Monoid (c s a)) => Monoid (MapStep c s a) Source 

singleton :: s -> a -> MapStep c s a Source

Fixpoint of Steps

newtype MapTrie s a Source

Constructors

MapTrie 

Fields

unMapTrie :: MapStep MapTrie s a
 

Instances

Ord s => Trie NonEmpty s MapTrie Source 
Functor (MapTrie s) Source 
Foldable (MapTrie s) Source 
Traversable (MapTrie s) Source 
Ord s => Lookup (MapTrie s) Source 
(Eq s, Eq a) => Eq (MapTrie s a) Source 
(Ord s, Ord a) => Ord (MapTrie s a) Source 
(Show s, Show a) => Show (MapTrie s a) Source 
Ord s => Monoid (MapTrie s a) Source 
type Key (MapTrie s) = NonEmpty s Source 

Conversion

keys :: Ord s => MapTrie s a -> [NonEmpty s] Source

elems :: MapTrie s a -> [a] Source

Query

subtrie :: Ord s => NonEmpty s -> MapTrie s a -> Maybe (MapTrie s a) Source

match :: Ord s => NonEmpty s -> MapTrie s a -> Maybe (NonEmpty s, a, [s]) Source

matches :: Ord s => NonEmpty s -> MapTrie s a -> [(NonEmpty s, a, [s])] Source

Returns a list of all the nodes along the path to the furthest point in the query, in order of the path walked from the root to the furthest point.