Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- data PathsPrefixTree (q :: k -> k -> Type) (f :: k -> Type) (r :: k) where
- pattern PathsPrefixNode :: Ord (f r) => Set (f r) -> [WrapTypeable (AStep q f r)] -> PathsPrefixTree q f r
- data AStep (q :: k -> k -> Type) (f :: k -> Type) (r :: k) (a :: k) where
- AStep :: NiceQuiver q r a => !(Map (q r a) (PathsPrefixTree q f a)) -> AStep q f r a
- empty :: PathsPrefixTree q f r
- singleton :: AnItem q f r -> PathsPrefixTree q f r
- fromList :: [AnItem q f r] -> PathsPrefixTree q f r
- null :: PathsPrefixTree q f r -> Bool
- foldWith :: forall q f m r. Monoid m => (forall a. Ord (f a) => Paths q r a -> f a -> m) -> PathsPrefixTree q f r -> m
- toList :: PathsPrefixTree q f r -> [AnItem q f r]
- filter :: (forall a. f a -> Bool) -> PathsPrefixTree q f r -> PathsPrefixTree q f r
- filterWithKey :: (forall a. Paths q r a -> f a -> Bool) -> PathsPrefixTree q f r -> PathsPrefixTree q f r
- takeSubtree :: forall q f r a. Paths q r a -> PathsPrefixTree q f r -> PathsPrefixTree q f a
- lookup :: Paths q r a -> PathsPrefixTree q f r -> Set (f a)
- embed :: Paths q r a -> PathsPrefixTree q f a -> PathsPrefixTree q f r
- size :: PathsPrefixTree q f r -> Int
- partition :: (forall a. f a -> Bool) -> PathsPrefixTree q f r -> (PathsPrefixTree q f r, PathsPrefixTree q f r)
- map :: (forall x. f x -> f x) -> PathsPrefixTree q f r -> PathsPrefixTree q f r
Documentation
data PathsPrefixTree (q :: k -> k -> Type) (f :: k -> Type) (r :: k) where Source #
A list of AnItem r f
, but optimized into a prefix tree.
pattern PathsPrefixNode :: Ord (f r) => Set (f r) -> [WrapTypeable (AStep q f r)] -> PathsPrefixTree q f r |
Instances
data AStep (q :: k -> k -> Type) (f :: k -> Type) (r :: k) (a :: k) where Source #
AStep :: NiceQuiver q r a => !(Map (q r a) (PathsPrefixTree q f a)) -> AStep q f r a |
Instances
Eq (AStep q f r a) Source # | |
Ord (AStep q f r a) Source # | |
Defined in Data.OpenApi.Compare.PathsPrefixTree compare :: AStep q f r a -> AStep q f r a -> Ordering # (<) :: AStep q f r a -> AStep q f r a -> Bool # (<=) :: AStep q f r a -> AStep q f r a -> Bool # (>) :: AStep q f r a -> AStep q f r a -> Bool # (>=) :: AStep q f r a -> AStep q f r a -> Bool # |
empty :: PathsPrefixTree q f r Source #
singleton :: AnItem q f r -> PathsPrefixTree q f r Source #
fromList :: [AnItem q f r] -> PathsPrefixTree q f r Source #
null :: PathsPrefixTree q f r -> Bool Source #
foldWith :: forall q f m r. Monoid m => (forall a. Ord (f a) => Paths q r a -> f a -> m) -> PathsPrefixTree q f r -> m Source #
toList :: PathsPrefixTree q f r -> [AnItem q f r] Source #
filter :: (forall a. f a -> Bool) -> PathsPrefixTree q f r -> PathsPrefixTree q f r Source #
filterWithKey :: (forall a. Paths q r a -> f a -> Bool) -> PathsPrefixTree q f r -> PathsPrefixTree q f r Source #
takeSubtree :: forall q f r a. Paths q r a -> PathsPrefixTree q f r -> PathsPrefixTree q f a Source #
Select a subtree by prefix
embed :: Paths q r a -> PathsPrefixTree q f a -> PathsPrefixTree q f r Source #
Embed a subtree in a larger tree with given prefix
size :: PathsPrefixTree q f r -> Int Source #
The number of leaves.
partition :: (forall a. f a -> Bool) -> PathsPrefixTree q f r -> (PathsPrefixTree q f r, PathsPrefixTree q f r) Source #
map :: (forall x. f x -> f x) -> PathsPrefixTree q f r -> PathsPrefixTree q f r Source #