-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Automatic type inference of generalized tries. -- -- Builds on the multirec library to create a system capable of automatic -- or simple generalized trie type inference. @package TrieMap @version 0.5.1 module Data.TrieMap.MultiRec class (HOrd0 phi r) => HTrieKey phi :: (* -> *) r :: (* -> *) m | m -> phi r class (HOrd phi f) => HTrieKeyT phi :: (* -> *) f :: ((* -> *) -> * -> *) m | m -> phi f newtype Family phi ix F :: ix -> Family phi ix class HEq0 phi r heqH :: (HEq0 phi r) => phi ix -> r ix -> r ix -> Bool class (HEq0 phi r) => HOrd0 phi r compareH0 :: (HOrd0 phi r) => phi ix -> Comparator (r ix) class (HEq phi f) => HOrd phi f compareH :: (HOrd phi f) => (forall ix. phi ix -> Comparator (r ix)) -> phi ix -> Comparator (f r ix) module Data.TrieMap.Regular class (OrdT f) => TrieKeyT f :: (* -> *) m :: (* -> (* -> *) -> * -> *) | m -> f, f -> m newtype K0 a r K0 :: a -> K0 a r unK0 :: K0 a r -> a newtype I0 r I0 :: r -> I0 r unI0 :: I0 r -> r data U0 r U0 :: U0 r data (:*:) f g r (:*:) :: f r -> g r -> :*: f g r data (:+:) f g r L :: (f r) -> :+: f g r R :: (g r) -> :+: f g r newtype L f r List :: [f r] -> L f r newtype Reg r Reg :: r -> Reg r unReg :: Reg r -> r newtype Fix f In :: f (Fix f) -> Fix f out :: Fix f -> f (Fix f) class Regular a from :: (Regular a) => a -> PF a a to :: (Regular a) => PF a a -> a from' :: (Functor (PF a), Regular a) => Reg a -> PF a (Reg a) to' :: (Functor (PF a), Regular a) => PF a (Reg a) -> Reg a class EqT f eqT0 :: (EqT f) => (a -> a -> Bool) -> f a -> f a -> Bool type Comparator a = a -> a -> Ordering class (EqT f) => OrdT f compareT0 :: (OrdT f) => Comparator a -> Comparator (f a) module Data.TrieMap.Class newtype TMap k a TMap :: TrieMap (Rep k) (K0 a) (Rep k) -> TMap k a getTMap :: TMap k a -> TrieMap (Rep k) (K0 a) (Rep k) class (TrieKey (Rep k) (TrieMap (Rep k))) => TKey k toRep :: (TKey k) => k -> Rep k fromRep :: (TKey k) => Rep k -> k newtype Ordered a Ord :: a -> Ordered a unOrd :: Ordered a -> a class (Ord k) => TrieKey k m | m -> k instance (TKey k) => Traversable (TMap k) instance (TKey k) => Foldable (TMap k) instance (TKey k) => Functor (TMap k) module Data.TrieMap class (TrieKey (Rep k) (TrieMap (Rep k))) => TKey k data TMap k a (!) :: (TKey k) => TMap k a -> k -> a (\\) :: (TKey k) => TMap k a -> TMap k b -> TMap k a null :: (TKey k) => TMap k a -> Bool size :: (TKey k) => TMap k a -> Int member :: (TKey k) => k -> TMap k a -> Bool notMember :: (TKey k) => k -> TMap k a -> Bool lookup :: (TKey k) => k -> TMap k a -> Maybe a findWithDefault :: (TKey k) => a -> k -> TMap k a -> a empty :: (TKey k) => TMap k a showMap :: (TKey k, Show (TrieMap (Rep k) (K0 a) (Rep k))) => TMap k a -> String singleton :: (TKey k) => k -> a -> TMap k a insert :: (TKey k) => k -> a -> TMap k a -> TMap k a insertWith :: (TKey k) => (a -> a -> a) -> k -> a -> TMap k a -> TMap k a insertWithKey :: (TKey k) => (k -> a -> a -> a) -> k -> a -> TMap k a -> TMap k a delete :: (TKey k) => k -> TMap k a -> TMap k a adjust :: (TKey k) => (a -> a) -> k -> TMap k a -> TMap k a adjustWithKey :: (TKey k) => (k -> a -> a) -> k -> TMap k a -> TMap k a update :: (TKey k) => (a -> Maybe a) -> k -> TMap k a -> TMap k a updateWithKey :: (TKey k) => (k -> a -> Maybe a) -> k -> TMap k a -> TMap k a alter :: (TKey k) => (Maybe a -> Maybe a) -> k -> TMap k a -> TMap k a union :: (TKey k) => TMap k a -> TMap k a -> TMap k a unionWith :: (TKey k) => (a -> a -> a) -> TMap k a -> TMap k a -> TMap k a unionWithKey :: (TKey k) => (k -> a -> a -> a) -> TMap k a -> TMap k a -> TMap k a unionMaybeWith :: (TKey k) => (a -> a -> Maybe a) -> TMap k a -> TMap k a -> TMap k a unionMaybeWithKey :: (TKey k) => (k -> a -> a -> Maybe a) -> TMap k a -> TMap k a -> TMap k a difference :: (TKey k) => TMap k a -> TMap k b -> TMap k a differenceWith :: (TKey k) => (a -> b -> Maybe a) -> TMap k a -> TMap k b -> TMap k a differenceWithKey :: (TKey k) => (k -> a -> b -> Maybe a) -> TMap k a -> TMap k b -> TMap k a intersection :: (TKey k) => TMap k a -> TMap k b -> TMap k a intersectionWith :: (TKey k) => (a -> b -> c) -> TMap k a -> TMap k b -> TMap k c intersectionWithKey :: (TKey k) => (k -> a -> b -> c) -> TMap k a -> TMap k b -> TMap k c intersectionMaybeWith :: (TKey k) => (a -> b -> Maybe c) -> TMap k a -> TMap k b -> TMap k c intersectionMaybeWithKey :: (TKey k) => (k -> a -> b -> Maybe c) -> TMap k a -> TMap k b -> TMap k c map :: (TKey k) => (a -> b) -> TMap k a -> TMap k b mapWithKey :: (TKey k) => (k -> a -> b) -> TMap k a -> TMap k b mapKeys :: (TKey k, TKey k') => (k -> k') -> TMap k a -> TMap k' a mapKeysWith :: (TKey k, TKey k') => (a -> a -> a) -> (k -> k') -> TMap k a -> TMap k' a mapKeysMonotonic :: (TKey k, TKey k') => (k -> k') -> TMap k a -> TMap k' a traverseWithKey :: (TKey k, Applicative f) => (k -> a -> f b) -> TMap k a -> f (TMap k b) fold :: (TKey k) => (a -> b -> b) -> b -> TMap k a -> b foldWithKey :: (TKey k) => (k -> a -> b -> b) -> b -> TMap k a -> b foldrWithKey :: (TKey k) => (k -> a -> b -> b) -> b -> TMap k a -> b foldlWithKey :: (TKey k) => (b -> k -> a -> b) -> b -> TMap k a -> b elems :: (TKey k) => TMap k a -> [a] keys :: (TKey k) => TMap k a -> [k] assocs :: (TKey k) => TMap k a -> [(k, a)] fromList :: (TKey k) => [(k, a)] -> TMap k a fromListWith :: (TKey k) => (a -> a -> a) -> [(k, a)] -> TMap k a fromListWithKey :: (TKey k) => (k -> a -> a -> a) -> [(k, a)] -> TMap k a fromAscList :: (TKey k) => [(k, a)] -> TMap k a fromAscListWith :: (TKey k) => (a -> a -> a) -> [(k, a)] -> TMap k a fromAscListWithKey :: (TKey k) => (k -> a -> a -> a) -> [(k, a)] -> TMap k a fromDistinctAscList :: (TKey k) => [(k, a)] -> TMap k a filter :: (TKey k) => (a -> Bool) -> TMap k a -> TMap k a filterWithKey :: (TKey k) => (k -> a -> Bool) -> TMap k a -> TMap k a partition :: (TKey k) => (a -> Bool) -> TMap k a -> (TMap k a, TMap k a) partitionWithKey :: (TKey k) => (k -> a -> Bool) -> TMap k a -> (TMap k a, TMap k a) mapMaybe :: (TKey k) => (a -> Maybe b) -> TMap k a -> TMap k b mapMaybeWithKey :: (TKey k) => (k -> a -> Maybe b) -> TMap k a -> TMap k b mapEither :: (TKey k) => (a -> Either b c) -> TMap k a -> (TMap k b, TMap k c) mapEitherWithKey :: (TKey k) => (k -> a -> Either b c) -> TMap k a -> (TMap k b, TMap k c) split :: (TKey k) => k -> TMap k a -> (TMap k a, TMap k a) splitLookup :: (TKey k) => k -> TMap k a -> (TMap k a, Maybe a, TMap k a) isSubmapOf :: (TKey k, Eq a) => TMap k a -> TMap k a -> Bool isSubmapOfBy :: (TKey k) => (a -> b -> Bool) -> TMap k a -> TMap k b -> Bool findMin :: (TKey k) => TMap k a -> (k, a) findMax :: (TKey k) => TMap k a -> (k, a) deleteMin :: (TKey k) => TMap k a -> TMap k a deleteMax :: (TKey k) => TMap k a -> TMap k a deleteFindMin :: (TKey k) => TMap k a -> ((k, a), TMap k a) deleteFindMax :: (TKey k) => TMap k a -> ((k, a), TMap k a) updateMin :: (TKey k) => (a -> Maybe a) -> TMap k a -> TMap k a updateMax :: (TKey k) => (a -> Maybe a) -> TMap k a -> TMap k a updateMinWithKey :: (TKey k) => (k -> a -> Maybe a) -> TMap k a -> TMap k a updateMaxWithKey :: (TKey k) => (k -> a -> Maybe a) -> TMap k a -> TMap k a minView :: (TKey k) => TMap k a -> Maybe (a, TMap k a) maxView :: (TKey k) => TMap k a -> Maybe (a, TMap k a) minViewWithKey :: (TKey k) => TMap k a -> Maybe ((k, a), TMap k a) maxViewWithKey :: (TKey k) => TMap k a -> Maybe ((k, a), TMap k a) instance (Ord k, TKey k, Ord a) => Ord (TMap k a) instance (Eq k, TKey k, Eq a) => Eq (TMap k a) instance (Show k, Show a, TKey k) => Show (TMap k a)