rose-trees-0.0.4.5: Various trie implementations in Haskell

Copyright(c) 2014 2015 Athan Clark
LicenseBSD-style
Maintainerathan.clark@gmail.com
Stabilityexperimental
PortabilityGHC
Safe HaskellNone
LanguageHaskell2010

Data.Tree.Knuth

Contents

Description

Synopsis

Documentation

newtype KnuthTree a Source #

Constructors

KnuthTree 

Fields

Instances
Monad KnuthTree Source # 
Instance details

Defined in Data.Tree.Knuth

Methods

(>>=) :: KnuthTree a -> (a -> KnuthTree b) -> KnuthTree b #

(>>) :: KnuthTree a -> KnuthTree b -> KnuthTree b #

return :: a -> KnuthTree a #

fail :: String -> KnuthTree a #

Functor KnuthTree Source # 
Instance details

Defined in Data.Tree.Knuth

Methods

fmap :: (a -> b) -> KnuthTree a -> KnuthTree b #

(<$) :: a -> KnuthTree b -> KnuthTree a #

Applicative KnuthTree Source # 
Instance details

Defined in Data.Tree.Knuth

Methods

pure :: a -> KnuthTree a #

(<*>) :: KnuthTree (a -> b) -> KnuthTree a -> KnuthTree b #

liftA2 :: (a -> b -> c) -> KnuthTree a -> KnuthTree b -> KnuthTree c #

(*>) :: KnuthTree a -> KnuthTree b -> KnuthTree b #

(<*) :: KnuthTree a -> KnuthTree b -> KnuthTree a #

Foldable KnuthTree Source # 
Instance details

Defined in Data.Tree.Knuth

Methods

fold :: Monoid m => KnuthTree m -> m #

foldMap :: Monoid m => (a -> m) -> KnuthTree a -> m #

foldr :: (a -> b -> b) -> b -> KnuthTree a -> b #

foldr' :: (a -> b -> b) -> b -> KnuthTree a -> b #

foldl :: (b -> a -> b) -> b -> KnuthTree a -> b #

foldl' :: (b -> a -> b) -> b -> KnuthTree a -> b #

foldr1 :: (a -> a -> a) -> KnuthTree a -> a #

foldl1 :: (a -> a -> a) -> KnuthTree a -> a #

toList :: KnuthTree a -> [a] #

null :: KnuthTree a -> Bool #

length :: KnuthTree a -> Int #

elem :: Eq a => a -> KnuthTree a -> Bool #

maximum :: Ord a => KnuthTree a -> a #

minimum :: Ord a => KnuthTree a -> a #

sum :: Num a => KnuthTree a -> a #

product :: Num a => KnuthTree a -> a #

Traversable KnuthTree Source # 
Instance details

Defined in Data.Tree.Knuth

Methods

traverse :: Applicative f => (a -> f b) -> KnuthTree a -> f (KnuthTree b) #

sequenceA :: Applicative f => KnuthTree (f a) -> f (KnuthTree a) #

mapM :: Monad m => (a -> m b) -> KnuthTree a -> m (KnuthTree b) #

sequence :: Monad m => KnuthTree (m a) -> m (KnuthTree a) #

RoseTree KnuthTree Source # 
Instance details

Defined in Data.Tree.Rose

Methods

(@->) :: Head (KnuthTree a) -> Tail (KnuthTree a) -> KnuthTree a Source #

HasSingleton a (KnuthTree a) Source # 
Instance details

Defined in Data.Tree.Knuth

Methods

singleton :: a -> KnuthTree a #

Eq a => Eq (KnuthTree a) Source # 
Instance details

Defined in Data.Tree.Knuth

Methods

(==) :: KnuthTree a -> KnuthTree a -> Bool #

(/=) :: KnuthTree a -> KnuthTree a -> Bool #

Data a => Data (KnuthTree a) Source # 
Instance details

Defined in Data.Tree.Knuth

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> KnuthTree a -> c (KnuthTree a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (KnuthTree a) #

toConstr :: KnuthTree a -> Constr #

dataTypeOf :: KnuthTree a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (KnuthTree a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (KnuthTree a)) #

gmapT :: (forall b. Data b => b -> b) -> KnuthTree a -> KnuthTree a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> KnuthTree a -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> KnuthTree a -> r #

gmapQ :: (forall d. Data d => d -> u) -> KnuthTree a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> KnuthTree a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> KnuthTree a -> m (KnuthTree a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> KnuthTree a -> m (KnuthTree a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> KnuthTree a -> m (KnuthTree a) #

Show a => Show (KnuthTree a) Source # 
Instance details

Defined in Data.Tree.Knuth

Generic (KnuthTree a) Source # 
Instance details

Defined in Data.Tree.Knuth

Associated Types

type Rep (KnuthTree a) :: Type -> Type #

Methods

from :: KnuthTree a -> Rep (KnuthTree a) x #

to :: Rep (KnuthTree a) x -> KnuthTree a #

Semigroup (KnuthTree a) Source # 
Instance details

Defined in Data.Tree.Knuth

Methods

(<>) :: KnuthTree a -> KnuthTree a -> KnuthTree a #

sconcat :: NonEmpty (KnuthTree a) -> KnuthTree a #

stimes :: Integral b => b -> KnuthTree a -> KnuthTree a #

Arbitrary a => Arbitrary (KnuthTree a) Source # 
Instance details

Defined in Data.Tree.Knuth

Methods

arbitrary :: Gen (KnuthTree a) #

shrink :: KnuthTree a -> [KnuthTree a] #

NFData a => NFData (KnuthTree a) Source # 
Instance details

Defined in Data.Tree.Knuth

Methods

rnf :: KnuthTree a -> () #

HasUnion (KnuthTree a) Source # 
Instance details

Defined in Data.Tree.Knuth

Methods

union :: KnuthTree a -> KnuthTree a -> KnuthTree a #

HasSize (KnuthTree a) Source # 
Instance details

Defined in Data.Tree.Knuth

Methods

size :: KnuthTree a -> Int #

type Rep (KnuthTree a) Source # 
Instance details

Defined in Data.Tree.Knuth

type Rep (KnuthTree a) = D1 (MetaData "KnuthTree" "Data.Tree.Knuth" "rose-trees-0.0.4.5-A00tWdqblf7Al7c9J60KpO" True) (C1 (MetaCons "KnuthTree" PrefixI True) (S1 (MetaSel (Just "unKnuthTree") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (a, KnuthForest a))))
type Tail (KnuthTree a) Source # 
Instance details

Defined in Data.Tree.Rose

type Head (KnuthTree a) Source # 
Instance details

Defined in Data.Tree.Rose

type Head (KnuthTree a) = a

Query

elem :: Eq a => a -> KnuthTree a -> Bool Source #

elemPath :: Eq a => [a] -> KnuthTree a -> Bool Source #

isSubtreeOf' :: Eq a => KnuthTree a -> KnuthTree a -> Bool Source #

Bottom-up depth-first

isProperSubtreeOf' :: Eq a => KnuthTree a -> KnuthTree a -> Bool Source #

Bottom-up depth-first

isChildOf :: Eq a => a -> KnuthTree a -> Bool Source #

Construction

delete :: Eq a => a -> KnuthTree a -> Maybe (KnuthTree a) Source #

Combination