Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data PredStep s k r = Typeable a => PredStep {
- predPred :: !(PredKey s k a)
- predData :: !(Maybe (a -> r))
- predSub :: !(HashTableTrie s k (a -> r))
- data RawValue s k a = RawValue {
- rawValue :: !(Maybe a)
- rawChildren :: !(HashTableTrie s k a)
- data HashTableTrie s k a = HashTableTrie {}
- new :: ST s (HashTableTrie s k a)
- insert :: (Eq k, Hashable k) => NonEmpty k -> a -> HashTableTrie s k a -> ST s (HashTableTrie s k a)
- lookup :: (Eq k, Hashable k, Typeable s, Typeable k) => PredSet s k -> NonEmpty k -> HashTableTrie s k a -> ST s (Maybe a)
- match :: (Eq k, Hashable k, Typeable s, Typeable k) => PredSet s k -> NonEmpty k -> HashTableTrie s k a -> ST s (Maybe (NonEmpty k, a, [k]))
- matches :: (Eq k, Hashable k, Typeable s, Typeable k) => PredSet s k -> NonEmpty k -> HashTableTrie s k a -> ST s [(NonEmpty k, a, [k])]
- data RootedHashTableTrie s k a = RootedHashTableTrie {
- rootedBase :: !(Maybe a)
- rootedSub :: !(HashTableTrie s k a)
- rootedPredSet :: !(PredSet s k)
- newR :: ST s (RootedHashTableTrie s k a)
- lookupR :: (Eq k, Hashable k, Typeable s, Typeable k, Typeable a) => [k] -> RootedHashTableTrie s k a -> ST s (Maybe a)
- matchR :: (Eq k, Hashable k, Typeable s, Typeable k, Typeable a) => [k] -> RootedHashTableTrie s k a -> ST s (Maybe ([k], a, [k]))
- matchesR :: (Eq k, Hashable k, Typeable s, Typeable k, Typeable a) => [k] -> RootedHashTableTrie s k a -> ST s [([k], a, [k])]
Tail
RawValue | |
|
data HashTableTrie s k a Source #
new :: ST s (HashTableTrie s k a) Source #
insert :: (Eq k, Hashable k) => NonEmpty k -> a -> HashTableTrie s k a -> ST s (HashTableTrie s k a) Source #
lookup :: (Eq k, Hashable k, Typeable s, Typeable k) => PredSet s k -> NonEmpty k -> HashTableTrie s k a -> ST s (Maybe a) Source #
match :: (Eq k, Hashable k, Typeable s, Typeable k) => PredSet s k -> NonEmpty k -> HashTableTrie s k a -> ST s (Maybe (NonEmpty k, a, [k])) Source #
matches :: (Eq k, Hashable k, Typeable s, Typeable k) => PredSet s k -> NonEmpty k -> HashTableTrie s k a -> ST s [(NonEmpty k, a, [k])] Source #
Rooted
data RootedHashTableTrie s k a Source #
RootedHashTableTrie | |
|
newR :: ST s (RootedHashTableTrie s k a) Source #
lookupR :: (Eq k, Hashable k, Typeable s, Typeable k, Typeable a) => [k] -> RootedHashTableTrie s k a -> ST s (Maybe a) Source #