Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Data.Trie.Map.Internal
Contents
Description
This module exposes internal representation of TMap
.
TMap has one invariant condition:
- Subtrees of an
TMap
should not be empty.
For example, consider following tree structure which is valid:
> fromList [("a",1), ("aa", 2), ("bc", 3)] Root 'a' -> 1 'a' -> 2 'b' -> 'c' -> 3
Adding redundant node which represents empty map does not change
what an TMap
represents.
Root 'a' -> 1 'a' -> 2 'b' -> 'c' -> 3 'd' -> 'e' -> 'f' ->
But such TMap
should not exist because it confuses Eq
and Ord
instances and null
function.
Types
Mapping from [c]
to a
implemented as a trie.
This type serves the almost same purpose of Map [c] a
,
but can be looked up more efficiently.
Instances
Instances
Eq c => Eq2 (Node c) Source # | |
Ord c => Ord2 (Node c) Source # | |
Defined in Data.Trie.Map.Hidden | |
Foldable (Node c a) Source # | |
Defined in Data.Trie.Map.Hidden Methods fold :: Monoid m => Node c a m -> m # foldMap :: Monoid m => (a0 -> m) -> Node c a a0 -> m # foldMap' :: Monoid m => (a0 -> m) -> Node c a a0 -> m # foldr :: (a0 -> b -> b) -> b -> Node c a a0 -> b # foldr' :: (a0 -> b -> b) -> b -> Node c a a0 -> b # foldl :: (b -> a0 -> b) -> b -> Node c a a0 -> b # foldl' :: (b -> a0 -> b) -> b -> Node c a a0 -> b # foldr1 :: (a0 -> a0 -> a0) -> Node c a a0 -> a0 # foldl1 :: (a0 -> a0 -> a0) -> Node c a a0 -> a0 # toList :: Node c a a0 -> [a0] # length :: Node c a a0 -> Int # elem :: Eq a0 => a0 -> Node c a a0 -> Bool # maximum :: Ord a0 => Node c a a0 -> a0 # minimum :: Ord a0 => Node c a a0 -> a0 # | |
(Eq c, Eq a) => Eq1 (Node c a) Source # | |
(Ord c, Ord a) => Ord1 (Node c a) Source # | |
Defined in Data.Trie.Map.Hidden | |
Traversable (Node c a) Source # | |
Defined in Data.Trie.Map.Hidden | |
Functor (Node c a) Source # | |
(Show a, Show c, Show r) => Show (Node c a r) Source # | |
(NFData c, NFData a, NFData r) => NFData (Node c a r) Source # | |
Defined in Data.Trie.Map.Hidden | |
(Eq a, Eq c, Eq r) => Eq (Node c a r) Source # | |
(Ord a, Ord c, Ord r) => Ord (Node c a r) Source # | |
Defined in Data.Trie.Map.Hidden |