-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ module Data.SuffixTree type Alphabet a = [a] type Edge a = (Prefix a, STree a) data Prefix a instance Functor Prefix instance Eq a => Eq (Prefix a) instance Ord a => Ord (Prefix a) instance Show a => Show (Prefix a) data STree a Node :: [Edge a] -> STree a Leaf :: STree a instance Functor STree instance ??? a => Show (STree a) constructWith :: Eq a => Alphabet a -> [a] -> STree a construct :: Ord a => [a] -> STree a elem :: Eq a => [a] -> STree a -> Bool findEdge :: Eq a => [a] -> STree a -> Maybe (Edge a, Int) findTree :: Eq a => [a] -> STree a -> Maybe (STree a) findPath :: Eq a => [a] -> STree a -> [Edge a] countLeaves :: STree a -> Int countRepeats :: Eq a => [a] -> STree a -> Int foldr :: (Prefix a -> b -> b) -> b -> STree a -> b foldl :: (a -> Prefix b -> a) -> a -> STree b -> a fold :: (a -> a) -> (a -> a) -> (Prefix b -> a -> a -> a) -> (a -> a) -> a -> STree b -> a mkPrefix :: [a] -> Prefix a prefix :: Prefix a -> [a] suffixes :: [a] -> [[a]]