Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- data HashTree a = HashTree {}
- elem :: Eq a => a -> HashTree a -> Bool
- elemPath :: Eq a => [a] -> HashTree a -> Bool
- size :: HashTree a -> Int
- isChildOf :: Eq a => a -> HashTree a -> Bool
- isDescendantOf :: Eq a => a -> HashTree a -> Bool
- isSubtreeOf :: (Eq a, Hashable a) => HashTree a -> HashTree a -> Bool
- isSubtreeOf' :: (Eq a, Hashable a) => HashTree a -> HashTree a -> Bool
- isProperSubtreeOf :: (Eq a, Hashable a) => HashTree a -> HashTree a -> Bool
- isProperSubtreeOf' :: (Eq a, Hashable a) => HashTree a -> HashTree a -> Bool
- eqHead :: Eq a => HashTree a -> HashTree a -> Bool
- insertChild :: (Eq a, Hashable a) => HashTree a -> HashTree a -> HashTree a
- delete :: (Eq a, Hashable a) => a -> HashTree a -> Maybe (HashTree a)
- singleton :: a -> HashTree a
- filter :: (Eq a, Hashable a) => (a -> Bool) -> HashTree a -> Maybe (HashTree a)
- map :: (Eq b, Hashable b) => (a -> b) -> HashTree a -> HashTree b
- mapMaybe :: (Eq b, Hashable b) => (a -> Maybe b) -> HashTree a -> Maybe (HashTree b)
- toTree :: HashTree a -> Tree a
- fromTree :: (Hashable a, Eq a) => Tree a -> HashTree a
Documentation
Instances
Foldable HashTree Source # | |
Defined in Data.Tree.Hash fold :: Monoid m => HashTree m -> m # foldMap :: Monoid m => (a -> m) -> HashTree a -> m # foldr :: (a -> b -> b) -> b -> HashTree a -> b # foldr' :: (a -> b -> b) -> b -> HashTree a -> b # foldl :: (b -> a -> b) -> b -> HashTree a -> b # foldl' :: (b -> a -> b) -> b -> HashTree a -> b # foldr1 :: (a -> a -> a) -> HashTree a -> a # foldl1 :: (a -> a -> a) -> HashTree a -> a # elem :: Eq a => a -> HashTree a -> Bool # maximum :: Ord a => HashTree a -> a # minimum :: Ord a => HashTree a -> a # | |
Foldable1 HashTree Source # | |
RoseTree HashTree Source # | |
HasSingleton a (HashTree a) Source # | |
Defined in Data.Tree.Hash | |
Eq a => Eq (HashTree a) Source # | |
(Data a, Hashable a, Eq a) => Data (HashTree a) Source # | |
Defined in Data.Tree.Hash gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HashTree a -> c (HashTree a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HashTree a) # toConstr :: HashTree a -> Constr # dataTypeOf :: HashTree a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HashTree a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HashTree a)) # gmapT :: (forall b. Data b => b -> b) -> HashTree a -> HashTree a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HashTree a -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HashTree a -> r # gmapQ :: (forall d. Data d => d -> u) -> HashTree a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> HashTree a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> HashTree a -> m (HashTree a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HashTree a -> m (HashTree a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HashTree a -> m (HashTree a) # | |
Show a => Show (HashTree a) Source # | |
Generic (HashTree a) Source # | |
(Eq a, Hashable a) => Semigroup (HashTree a) Source # | |
(Eq a, Hashable a, Arbitrary a) => Arbitrary (HashTree a) Source # | |
Hashable a => Hashable (HashTree a) Source # | |
Defined in Data.Tree.Hash | |
NFData a => NFData (HashTree a) Source # | |
Defined in Data.Tree.Hash | |
HasSize (HashTree a) Source # | |
Defined in Data.Tree.Hash | |
type Rep (HashTree a) Source # | |
Defined in Data.Tree.Hash type Rep (HashTree a) = D1 (MetaData "HashTree" "Data.Tree.Hash" "rose-trees-0.0.4.5-A00tWdqblf7Al7c9J60KpO" False) (C1 (MetaCons "HashTree" PrefixI True) (S1 (MetaSel (Just "sNode") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 a) :*: S1 (MetaSel (Just "sChildren") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (HashSet (HashTree a))))) | |
type Tail (HashTree a) Source # | |
Defined in Data.Tree.Rose | |
type Head (HashTree a) Source # | |
Defined in Data.Tree.Rose |
Query
isSubtreeOf :: (Eq a, Hashable a) => HashTree a -> HashTree a -> Bool Source #
Heirarchical analogue to subseteq.
isProperSubtreeOf' :: (Eq a, Hashable a) => HashTree a -> HashTree a -> Bool Source #
Bottom-up version