Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Data.Seqn.Internal.Tree
Description
This is an internal module. You probably don't need to import this. Use Data.Seqn.Seq instead.
WARNING
Definitions in this module allow violating invariants that would otherwise be guaranteed by Data.Seqn.Seq. Use at your own risk!
Synopsis
- data Tree a
- size :: Tree a -> Int
- bin :: a -> Tree a -> Tree a -> Tree a
- foldl' :: (b -> a -> b) -> b -> Tree a -> b
- ifoldl' :: (Int -> b -> a -> b) -> b -> Int -> Tree a -> b
- foldr' :: (a -> b -> b) -> b -> Tree a -> b
- ifoldr' :: (Int -> a -> b -> b) -> b -> Int -> Tree a -> b
- traverse :: Applicative f => (a -> f b) -> Tree a -> f (Tree b)
- itraverse :: Applicative f => (Int -> a -> f b) -> Int -> Tree a -> f (Tree b)
- generateA :: Applicative f => (Int -> f a) -> Int -> Int -> f (Tree a)
- adjustF :: Functor f => (a -> f a) -> Int -> Tree a -> f (Tree a)
- insertAt :: Int -> a -> Tree a -> Tree a
- deleteAt :: Int -> Tree a -> Tree a
- cons :: a -> Tree a -> Tree a
- snoc :: Tree a -> a -> Tree a
- uncons :: Tree a -> SMaybe (S2 a (Tree a))
- unsnoc :: Tree a -> SMaybe (S2 (Tree a) a)
- splitAtF :: Biapplicative f => Int -> Tree a -> f (Tree a) (S2 a (Tree a))
- mapMaybeA :: Applicative f => (a -> f (Maybe b)) -> Tree a -> f (Tree b)
- mapEitherA :: Applicative f => (a -> f (Either b c)) -> Tree a -> f (S2 (Tree b) (Tree c))
- zipWithStreamM :: Monad m => (a -> b -> m c) -> Tree a -> Stream b -> m (Tree c)
- unzipWithA :: Applicative f => (a -> f (b, c)) -> Tree a -> f (S2 (Tree b) (Tree c))
- unzipWith3A :: Applicative f => (a -> f (b, c, d)) -> Tree a -> f (S3 (Tree b) (Tree c) (Tree d))
- fold :: b -> (Int -> a -> b -> b -> b) -> (Int -> a -> b -> b) -> (Int -> a -> b -> b) -> (a -> b) -> Tree a -> b
- foldSimple :: b -> (Int -> a -> b -> b -> b) -> Tree a -> b
- link :: a -> Tree a -> Tree a -> Tree a
- glue :: Tree a -> Tree a -> Tree a
- merge :: Tree a -> Tree a -> Tree a
- balanceL :: a -> Tree a -> Tree a -> Tree a
- balanceR :: a -> Tree a -> Tree a -> Tree a
- valid :: Tree a -> Bool
- debugShowsPrec :: Show a => Int -> Tree a -> ShowS
Tree
Basic
Folds
Construct
Index
Slice
Transform
mapEitherA :: Applicative f => (a -> f (Either b c)) -> Tree a -> f (S2 (Tree b) (Tree c)) Source #
Zip and unzip
unzipWithA :: Applicative f => (a -> f (b, c)) -> Tree a -> f (S2 (Tree b) (Tree c)) Source #
unzipWith3A :: Applicative f => (a -> f (b, c, d)) -> Tree a -> f (S3 (Tree b) (Tree c) (Tree d)) Source #
Tree helpers
fold :: b -> (Int -> a -> b -> b -> b) -> (Int -> a -> b -> b) -> (Int -> a -> b -> b) -> (a -> b) -> Tree a -> b Source #
foldSimple :: b -> (Int -> a -> b -> b -> b) -> Tree a -> b Source #