apart-0.1.0: Get all your structure and rip it apart.
Data.Apart.Structures.Tree.Prefix
Synopsis
type Prefix s t = Cofree (Labeled s t) Source #
data Labeled s t a Source #
Constructors
Instances
Methods
fmap :: (a -> b) -> Labeled * s t a -> Labeled * s t b #
(<$) :: a -> Labeled * s t b -> Labeled * s t a #
fold :: Monoid m => Labeled * s t m -> m #
foldMap :: Monoid m => (a -> m) -> Labeled * s t a -> m #
foldr :: (a -> b -> b) -> b -> Labeled * s t a -> b #
foldr' :: (a -> b -> b) -> b -> Labeled * s t a -> b #
foldl :: (b -> a -> b) -> b -> Labeled * s t a -> b #
foldl' :: (b -> a -> b) -> b -> Labeled * s t a -> b #
foldr1 :: (a -> a -> a) -> Labeled * s t a -> a #
foldl1 :: (a -> a -> a) -> Labeled * s t a -> a #
toList :: Labeled * s t a -> [a] #
null :: Labeled * s t a -> Bool #
length :: Labeled * s t a -> Int #
elem :: Eq a => a -> Labeled * s t a -> Bool #
maximum :: Ord a => Labeled * s t a -> a #
minimum :: Ord a => Labeled * s t a -> a #
sum :: Num a => Labeled * s t a -> a #
product :: Num a => Labeled * s t a -> a #
traverse :: Applicative f => (a -> f b) -> Labeled * s t a -> f (Labeled * s t b) #
sequenceA :: Applicative f => Labeled * s t (f a) -> f (Labeled * s t a) #
mapM :: Monad m => (a -> m b) -> Labeled * s t a -> m (Labeled * s t b) #
sequence :: Monad m => Labeled * s t (m a) -> m (Labeled * s t a) #
showsPrec :: Int -> Labeled k s t a -> ShowS #
show :: Labeled k s t a -> String #
showList :: [Labeled k s t a] -> ShowS #
seek :: (Functor t, Foldable t, Eq s) => Stack s -> Prefix s t v -> Maybe v Source #
insert :: (Foldable t, Alternative t, Eq s) => Stack s -> v -> Prefix s t v -> Prefix s t v Source #
You can insert value with path + 1 symbol of existing path in tree.
path + 1 symbol
path