Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- data HashMapChildren c p a = HashMapChildren {
- hashMapNode :: !(Maybe a)
- hashMapChildren :: !(Maybe (c p a))
- newtype HashMapStep c p a = HashMapStep {
- unHashMapStep :: HashMap p (HashMapChildren c p a)
- insert :: (Hashable p, Eq p, Trie NonEmpty p c, Monoid (c p a)) => NonEmpty p -> a -> HashMapStep c p a -> HashMapStep c p a
- empty :: HashMapStep c p a
- singleton :: Hashable p => p -> a -> HashMapStep c p a
- newtype HashMapTrie p a = HashMapTrie {
- unHashMapTrie :: HashMapStep HashMapTrie p a
- keys :: (Hashable p, Eq p) => HashMapTrie p a -> [NonEmpty p]
- elems :: HashMapTrie p a -> [a]
- subtrie :: (Hashable p, Eq p) => NonEmpty p -> HashMapTrie p a -> Maybe (HashMapTrie p a)
- match :: (Hashable p, Eq p) => NonEmpty p -> HashMapTrie p a -> Maybe (NonEmpty p, a, [p])
- matches :: (Hashable p, Eq p) => NonEmpty p -> HashMapTrie p a -> [(NonEmpty p, a, [p])]
One Step
data HashMapChildren c p a Source #
HashMapChildren | |
|
Instances
newtype HashMapStep c p a Source #
HashMapStep | |
|
Instances
(Hashable p, Eq p, Trie NonEmpty p c) => Trie NonEmpty p (HashMapStep c) Source # | |
Defined in Data.Trie.HashMap lookup :: NonEmpty p -> HashMapStep c p a -> Maybe a Source # insert :: NonEmpty p -> a -> HashMapStep c p a -> HashMapStep c p a Source # delete :: NonEmpty p -> HashMapStep c p a -> HashMapStep c p a Source # | |
Functor (c p) => Functor (HashMapStep c p) Source # | |
Defined in Data.Trie.HashMap fmap :: (a -> b) -> HashMapStep c p a -> HashMapStep c p b # (<$) :: a -> HashMapStep c p b -> HashMapStep c p a # | |
Foldable (c p) => Foldable (HashMapStep c p) Source # | |
Defined in Data.Trie.HashMap fold :: Monoid m => HashMapStep c p m -> m # foldMap :: Monoid m => (a -> m) -> HashMapStep c p a -> m # foldr :: (a -> b -> b) -> b -> HashMapStep c p a -> b # foldr' :: (a -> b -> b) -> b -> HashMapStep c p a -> b # foldl :: (b -> a -> b) -> b -> HashMapStep c p a -> b # foldl' :: (b -> a -> b) -> b -> HashMapStep c p a -> b # foldr1 :: (a -> a -> a) -> HashMapStep c p a -> a # foldl1 :: (a -> a -> a) -> HashMapStep c p a -> a # toList :: HashMapStep c p a -> [a] # null :: HashMapStep c p a -> Bool # length :: HashMapStep c p a -> Int # elem :: Eq a => a -> HashMapStep c p a -> Bool # maximum :: Ord a => HashMapStep c p a -> a # minimum :: Ord a => HashMapStep c p a -> a # sum :: Num a => HashMapStep c p a -> a # product :: Num a => HashMapStep c p a -> a # | |
Traversable (c p) => Traversable (HashMapStep c p) Source # | |
Defined in Data.Trie.HashMap traverse :: Applicative f => (a -> f b) -> HashMapStep c p a -> f (HashMapStep c p b) # sequenceA :: Applicative f => HashMapStep c p (f a) -> f (HashMapStep c p a) # mapM :: Monad m => (a -> m b) -> HashMapStep c p a -> m (HashMapStep c p b) # sequence :: Monad m => HashMapStep c p (m a) -> m (HashMapStep c p a) # | |
(Eq p, Eq a, Eq (c p a)) => Eq (HashMapStep c p a) Source # | |
Defined in Data.Trie.HashMap (==) :: HashMapStep c p a -> HashMapStep c p a -> Bool # (/=) :: HashMapStep c p a -> HashMapStep c p a -> Bool # | |
(Typeable c, Data p, Data a, Data (c p a), Eq p, Hashable p) => Data (HashMapStep c p a) Source # | |
Defined in Data.Trie.HashMap gfoldl :: (forall d b. Data d => c0 (d -> b) -> d -> c0 b) -> (forall g. g -> c0 g) -> HashMapStep c p a -> c0 (HashMapStep c p a) # gunfold :: (forall b r. Data b => c0 (b -> r) -> c0 r) -> (forall r. r -> c0 r) -> Constr -> c0 (HashMapStep c p a) # toConstr :: HashMapStep c p a -> Constr # dataTypeOf :: HashMapStep c p a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c0 (t d)) -> Maybe (c0 (HashMapStep c p a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c0 (t d e)) -> Maybe (c0 (HashMapStep c p a)) # gmapT :: (forall b. Data b => b -> b) -> HashMapStep c p a -> HashMapStep c p a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HashMapStep c p a -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HashMapStep c p a -> r # gmapQ :: (forall d. Data d => d -> u) -> HashMapStep c p a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> HashMapStep c p a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HashMapStep c p a -> m (HashMapStep c p a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HashMapStep c p a -> m (HashMapStep c p a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HashMapStep c p a -> m (HashMapStep c p a) # | |
(Show p, Show a, Show (c p a)) => Show (HashMapStep c p a) Source # | |
Defined in Data.Trie.HashMap showsPrec :: Int -> HashMapStep c p a -> ShowS # show :: HashMapStep c p a -> String # showList :: [HashMapStep c p a] -> ShowS # | |
Generic (HashMapStep c p a) Source # | |
Defined in Data.Trie.HashMap type Rep (HashMapStep c p a) :: Type -> Type # from :: HashMapStep c p a -> Rep (HashMapStep c p a) x # to :: Rep (HashMapStep c p a) x -> HashMapStep c p a # | |
(Hashable p, Eq p, Semigroup (c p a)) => Semigroup (HashMapStep c p a) Source # | |
Defined in Data.Trie.HashMap (<>) :: HashMapStep c p a -> HashMapStep c p a -> HashMapStep c p a # sconcat :: NonEmpty (HashMapStep c p a) -> HashMapStep c p a # stimes :: Integral b => b -> HashMapStep c p a -> HashMapStep c p a # | |
(Hashable p, Eq p, Monoid (c p a)) => Monoid (HashMapStep c p a) Source # | |
Defined in Data.Trie.HashMap mempty :: HashMapStep c p a # mappend :: HashMapStep c p a -> HashMapStep c p a -> HashMapStep c p a # mconcat :: [HashMapStep c p a] -> HashMapStep c p a # | |
(Arbitrary a, Arbitrary p, Arbitrary (c p a), Hashable p, Eq p) => Arbitrary (HashMapStep c p a) Source # | |
Defined in Data.Trie.HashMap arbitrary :: Gen (HashMapStep c p a) # shrink :: HashMapStep c p a -> [HashMapStep c p a] # | |
(NFData (c p a), NFData p, NFData a) => NFData (HashMapStep c p a) Source # | |
Defined in Data.Trie.HashMap rnf :: HashMapStep c p a -> () # | |
type Rep (HashMapStep c p a) Source # | |
Defined in Data.Trie.HashMap type Rep (HashMapStep c p a) = D1 (MetaData "HashMapStep" "Data.Trie.HashMap" "tries-0.0.6.1-Bv92dt7msP1Givg7qeJP0r" True) (C1 (MetaCons "HashMapStep" PrefixI True) (S1 (MetaSel (Just "unHashMapStep") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (HashMap p (HashMapChildren c p a))))) |
insert :: (Hashable p, Eq p, Trie NonEmpty p c, Monoid (c p a)) => NonEmpty p -> a -> HashMapStep c p a -> HashMapStep c p a Source #
empty :: HashMapStep c p a Source #
singleton :: Hashable p => p -> a -> HashMapStep c p a Source #
Fixpoint of Steps
newtype HashMapTrie p a Source #
Instances
Conversion
elems :: HashMapTrie p a -> [a] Source #
Query
subtrie :: (Hashable p, Eq p) => NonEmpty p -> HashMapTrie p a -> Maybe (HashMapTrie p a) Source #