| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Data.Trie.Pseudo
- data PseudoTrie t a
- = More (t, Maybe a) (NonEmpty (PseudoTrie t a))
- | Rest (NonEmpty t) a
- | Nil
- toAssocs :: Default t => PseudoTrie t a -> [(NonEmpty t, a)]
- fromAssocs :: (Eq t, Default t) => [(NonEmpty t, a)] -> PseudoTrie t a
- lookup :: Eq t => NonEmpty t -> PseudoTrie t a -> Maybe a
- set :: (Eq t, Default t) => NonEmpty t -> a -> PseudoTrie t a -> PseudoTrie t a
- unionWith :: (Eq t, Default t) => (a -> a -> a) -> PseudoTrie t a -> PseudoTrie t a -> PseudoTrie t a
- intersectionWith :: (Eq t, Default t) => (a -> b -> c) -> PseudoTrie t a -> PseudoTrie t b -> PseudoTrie t c
- prune :: (Eq t, Default t) => PseudoTrie t a -> PseudoTrie t a
Documentation
data PseudoTrie t a Source
Non-Empty Rose Tree with explicit emptyness
Constructors
| More (t, Maybe a) (NonEmpty (PseudoTrie t a)) | |
| Rest (NonEmpty t) a | |
| Nil |
Instances
| Functor (PseudoTrie t) | |
| Foldable (PseudoTrie t) | Depth first |
| (Eq t, Eq a) => Eq (PseudoTrie t a) | |
| (Show t, Show a) => Show (PseudoTrie t a) | |
| (Eq t, Default t, Monoid a) => Monoid (PseudoTrie t a) |
toAssocs :: Default t => PseudoTrie t a -> [(NonEmpty t, a)] Source
fromAssocs :: (Eq t, Default t) => [(NonEmpty t, a)] -> PseudoTrie t a Source
lookup :: Eq t => NonEmpty t -> PseudoTrie t a -> Maybe a Source
set :: (Eq t, Default t) => NonEmpty t -> a -> PseudoTrie t a -> PseudoTrie t a Source
unionWith :: (Eq t, Default t) => (a -> a -> a) -> PseudoTrie t a -> PseudoTrie t a -> PseudoTrie t a Source
intersectionWith :: (Eq t, Default t) => (a -> b -> c) -> PseudoTrie t a -> PseudoTrie t b -> PseudoTrie t c Source
prune :: (Eq t, Default t) => PseudoTrie t a -> PseudoTrie t a Source
Needless More elements are turned into Rest, Nil's in subtrees are
also removed.