Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- data MapChildren c p a = MapChildren {
- mapNode :: !(Maybe a)
- mapChildren :: !(Maybe (c p a))
- newtype MapStep c p a = MapStep {
- unMapStep :: Map p (MapChildren c p a)
- insert :: (Ord p, Trie NonEmpty p c, Monoid (c p a)) => NonEmpty p -> a -> MapStep c p a -> MapStep c p a
- empty :: MapStep c s a
- singleton :: s -> a -> MapStep c s a
- newtype MapTrie s a = MapTrie {}
- keys :: forall s a. Ord s => MapTrie s a -> [NonEmpty s]
- elems :: MapTrie s a -> [a]
- subtrie :: Ord s => NonEmpty s -> MapTrie s a -> Maybe (MapTrie s a)
- match :: Ord s => NonEmpty s -> MapTrie s a -> Maybe (NonEmpty s, a, [s])
- matches :: Ord s => NonEmpty s -> MapTrie s a -> [(NonEmpty s, a, [s])]
One Step
data MapChildren c p a Source #
MapChildren | |
|
Instances
Functor (c p) => Functor (MapChildren c p) Source # | |
Defined in Data.Trie.Map fmap :: (a -> b) -> MapChildren c p a -> MapChildren c p b # (<$) :: a -> MapChildren c p b -> MapChildren c p a # | |
Foldable (c p) => Foldable (MapChildren c p) Source # | |
Defined in Data.Trie.Map fold :: Monoid m => MapChildren c p m -> m # foldMap :: Monoid m => (a -> m) -> MapChildren c p a -> m # foldr :: (a -> b -> b) -> b -> MapChildren c p a -> b # foldr' :: (a -> b -> b) -> b -> MapChildren c p a -> b # foldl :: (b -> a -> b) -> b -> MapChildren c p a -> b # foldl' :: (b -> a -> b) -> b -> MapChildren c p a -> b # foldr1 :: (a -> a -> a) -> MapChildren c p a -> a # foldl1 :: (a -> a -> a) -> MapChildren c p a -> a # toList :: MapChildren c p a -> [a] # null :: MapChildren c p a -> Bool # length :: MapChildren c p a -> Int # elem :: Eq a => a -> MapChildren c p a -> Bool # maximum :: Ord a => MapChildren c p a -> a # minimum :: Ord a => MapChildren c p a -> a # sum :: Num a => MapChildren c p a -> a # product :: Num a => MapChildren c p a -> a # | |
Traversable (c p) => Traversable (MapChildren c p) Source # | |
Defined in Data.Trie.Map traverse :: Applicative f => (a -> f b) -> MapChildren c p a -> f (MapChildren c p b) # sequenceA :: Applicative f => MapChildren c p (f a) -> f (MapChildren c p a) # mapM :: Monad m => (a -> m b) -> MapChildren c p a -> m (MapChildren c p b) # sequence :: Monad m => MapChildren c p (m a) -> m (MapChildren c p a) # | |
(Eq a, Eq (c p a)) => Eq (MapChildren c p a) Source # | |
Defined in Data.Trie.Map (==) :: MapChildren c p a -> MapChildren c p a -> Bool # (/=) :: MapChildren c p a -> MapChildren c p a -> Bool # | |
(Typeable c, Typeable p, Data a, Data (c p a)) => Data (MapChildren c p a) Source # | |
Defined in Data.Trie.Map gfoldl :: (forall d b. Data d => c0 (d -> b) -> d -> c0 b) -> (forall g. g -> c0 g) -> MapChildren c p a -> c0 (MapChildren c p a) # gunfold :: (forall b r. Data b => c0 (b -> r) -> c0 r) -> (forall r. r -> c0 r) -> Constr -> c0 (MapChildren c p a) # toConstr :: MapChildren c p a -> Constr # dataTypeOf :: MapChildren c p a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c0 (t d)) -> Maybe (c0 (MapChildren c p a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c0 (t d e)) -> Maybe (c0 (MapChildren c p a)) # gmapT :: (forall b. Data b => b -> b) -> MapChildren c p a -> MapChildren c p a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MapChildren c p a -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MapChildren c p a -> r # gmapQ :: (forall d. Data d => d -> u) -> MapChildren c p a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> MapChildren c p a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> MapChildren c p a -> m (MapChildren c p a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> MapChildren c p a -> m (MapChildren c p a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> MapChildren c p a -> m (MapChildren c p a) # | |
(Ord a, Ord (c p a)) => Ord (MapChildren c p a) Source # | |
Defined in Data.Trie.Map compare :: MapChildren c p a -> MapChildren c p a -> Ordering # (<) :: MapChildren c p a -> MapChildren c p a -> Bool # (<=) :: MapChildren c p a -> MapChildren c p a -> Bool # (>) :: MapChildren c p a -> MapChildren c p a -> Bool # (>=) :: MapChildren c p a -> MapChildren c p a -> Bool # max :: MapChildren c p a -> MapChildren c p a -> MapChildren c p a # min :: MapChildren c p a -> MapChildren c p a -> MapChildren c p a # | |
(Show a, Show (c p a)) => Show (MapChildren c p a) Source # | |
Defined in Data.Trie.Map showsPrec :: Int -> MapChildren c p a -> ShowS # show :: MapChildren c p a -> String # showList :: [MapChildren c p a] -> ShowS # | |
Generic (MapChildren c p a) Source # | |
Defined in Data.Trie.Map type Rep (MapChildren c p a) :: Type -> Type # from :: MapChildren c p a -> Rep (MapChildren c p a) x # to :: Rep (MapChildren c p a) x -> MapChildren c p a # | |
Semigroup (c p a) => Semigroup (MapChildren c p a) Source # | |
Defined in Data.Trie.Map (<>) :: MapChildren c p a -> MapChildren c p a -> MapChildren c p a # sconcat :: NonEmpty (MapChildren c p a) -> MapChildren c p a # stimes :: Integral b => b -> MapChildren c p a -> MapChildren c p a # | |
Monoid (c p a) => Monoid (MapChildren c p a) Source # | |
Defined in Data.Trie.Map mempty :: MapChildren c p a # mappend :: MapChildren c p a -> MapChildren c p a -> MapChildren c p a # mconcat :: [MapChildren c p a] -> MapChildren c p a # | |
(Arbitrary a, Arbitrary p, Arbitrary (c p a)) => Arbitrary (MapChildren c p a) Source # | |
Defined in Data.Trie.Map arbitrary :: Gen (MapChildren c p a) # shrink :: MapChildren c p a -> [MapChildren c p a] # | |
(NFData (c p a), NFData p, NFData a) => NFData (MapChildren c p a) Source # | |
Defined in Data.Trie.Map rnf :: MapChildren c p a -> () # | |
type Rep (MapChildren c p a) Source # | |
Defined in Data.Trie.Map type Rep (MapChildren c p a) = D1 (MetaData "MapChildren" "Data.Trie.Map" "tries-0.0.6.1-Bv92dt7msP1Givg7qeJP0r" False) (C1 (MetaCons "MapChildren" PrefixI True) (S1 (MetaSel (Just "mapNode") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe a)) :*: S1 (MetaSel (Just "mapChildren") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe (c p a))))) |
newtype MapStep c p a Source #
MapStep | |
|
Instances
(Ord p, Trie NonEmpty p c) => Trie NonEmpty p (MapStep c) Source # | No insertion instance - requires children nodes to be a monoid. Use |
Functor (c p) => Functor (MapStep c p) Source # | |
Foldable (c p) => Foldable (MapStep c p) Source # | |
Defined in Data.Trie.Map fold :: Monoid m => MapStep c p m -> m # foldMap :: Monoid m => (a -> m) -> MapStep c p a -> m # foldr :: (a -> b -> b) -> b -> MapStep c p a -> b # foldr' :: (a -> b -> b) -> b -> MapStep c p a -> b # foldl :: (b -> a -> b) -> b -> MapStep c p a -> b # foldl' :: (b -> a -> b) -> b -> MapStep c p a -> b # foldr1 :: (a -> a -> a) -> MapStep c p a -> a # foldl1 :: (a -> a -> a) -> MapStep c p a -> a # toList :: MapStep c p a -> [a] # null :: MapStep c p a -> Bool # length :: MapStep c p a -> Int # elem :: Eq a => a -> MapStep c p a -> Bool # maximum :: Ord a => MapStep c p a -> a # minimum :: Ord a => MapStep c p a -> a # | |
Traversable (c p) => Traversable (MapStep c p) Source # | |
Defined in Data.Trie.Map | |
(Eq p, Eq a, Eq (c p a)) => Eq (MapStep c p a) Source # | |
(Typeable c, Data p, Data a, Data (c p a), Ord p) => Data (MapStep c p a) Source # | |
Defined in Data.Trie.Map gfoldl :: (forall d b. Data d => c0 (d -> b) -> d -> c0 b) -> (forall g. g -> c0 g) -> MapStep c p a -> c0 (MapStep c p a) # gunfold :: (forall b r. Data b => c0 (b -> r) -> c0 r) -> (forall r. r -> c0 r) -> Constr -> c0 (MapStep c p a) # toConstr :: MapStep c p a -> Constr # dataTypeOf :: MapStep c p a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c0 (t d)) -> Maybe (c0 (MapStep c p a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c0 (t d e)) -> Maybe (c0 (MapStep c p a)) # gmapT :: (forall b. Data b => b -> b) -> MapStep c p a -> MapStep c p a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MapStep c p a -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MapStep c p a -> r # gmapQ :: (forall d. Data d => d -> u) -> MapStep c p a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> MapStep c p a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> MapStep c p a -> m (MapStep c p a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> MapStep c p a -> m (MapStep c p a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> MapStep c p a -> m (MapStep c p a) # | |
(Ord p, Ord a, Ord (c p a)) => Ord (MapStep c p a) Source # | |
Defined in Data.Trie.Map compare :: MapStep c p a -> MapStep c p a -> Ordering # (<) :: MapStep c p a -> MapStep c p a -> Bool # (<=) :: MapStep c p a -> MapStep c p a -> Bool # (>) :: MapStep c p a -> MapStep c p a -> Bool # (>=) :: MapStep c p a -> MapStep c p a -> Bool # | |
(Show p, Show a, Show (c p a)) => Show (MapStep c p a) Source # | |
Generic (MapStep c p a) Source # | |
(Ord s, Semigroup (c s a)) => Semigroup (MapStep c s a) Source # | |
(Ord s, Monoid (c s a)) => Monoid (MapStep c s a) Source # | |
(Arbitrary a, Arbitrary p, Arbitrary (c p a), Ord p) => Arbitrary (MapStep c p a) Source # | |
(NFData (c p a), NFData p, NFData a) => NFData (MapStep c p a) Source # | |
Defined in Data.Trie.Map | |
type Rep (MapStep c p a) Source # | |
Defined in Data.Trie.Map type Rep (MapStep c p a) = D1 (MetaData "MapStep" "Data.Trie.Map" "tries-0.0.6.1-Bv92dt7msP1Givg7qeJP0r" True) (C1 (MetaCons "MapStep" PrefixI True) (S1 (MetaSel (Just "unMapStep") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Map p (MapChildren c p a))))) |
insert :: (Ord p, Trie NonEmpty p c, Monoid (c p a)) => NonEmpty p -> a -> MapStep c p a -> MapStep c p a Source #
Fixpoint of Steps
Instances
Ord s => Trie NonEmpty s MapTrie Source # | |
Functor (MapTrie s) Source # | |
Foldable (MapTrie s) Source # | |
Defined in Data.Trie.Map fold :: Monoid m => MapTrie s m -> m # foldMap :: Monoid m => (a -> m) -> MapTrie s a -> m # foldr :: (a -> b -> b) -> b -> MapTrie s a -> b # foldr' :: (a -> b -> b) -> b -> MapTrie s a -> b # foldl :: (b -> a -> b) -> b -> MapTrie s a -> b # foldl' :: (b -> a -> b) -> b -> MapTrie s a -> b # foldr1 :: (a -> a -> a) -> MapTrie s a -> a # foldl1 :: (a -> a -> a) -> MapTrie s a -> a # toList :: MapTrie s a -> [a] # length :: MapTrie s a -> Int # elem :: Eq a => a -> MapTrie s a -> Bool # maximum :: Ord a => MapTrie s a -> a # minimum :: Ord a => MapTrie s a -> a # | |
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 # | |
Defined in Data.Trie.Map | |
(Show s, Show a) => Show (MapTrie s a) Source # | |
Ord s => Semigroup (MapTrie s a) Source # | |
Ord s => Monoid (MapTrie s a) Source # | |
(Arbitrary a, Arbitrary s, Ord s) => Arbitrary (MapTrie s a) Source # | |
type Key (MapTrie s) Source # | |
Defined in Data.Trie.Map |