Safe Haskell | None |
---|---|
Language | Haskell2010 |
- 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
More (t, Maybe a) (NonEmpty (PseudoTrie t a)) | |
Rest (NonEmpty t) a | |
Nil |
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.