Safe Haskell | None |
---|---|
Language | Haskell2010 |
Randomly balanced tree.
Synopsis
- data Tree s a v
- singleton :: PrimMonad m => Gen (PrimState m) -> a -> v -> m (Tree (PrimState m) a v)
- append :: (PrimMonad m, Monoid v) => Tree (PrimState m) a v -> Tree (PrimState m) a v -> m (Tree (PrimState m) a v)
- split :: (PrimMonad m, Monoid v) => Tree (PrimState m) a v -> m (Maybe (Tree (PrimState m) a v), Maybe (Tree (PrimState m) a v))
- connected :: (PrimMonad m, Monoid v) => Tree (PrimState m) a v -> Tree (PrimState m) a v -> m Bool
- root :: PrimMonad m => Tree (PrimState m) a v -> m (Tree (PrimState m) a v)
- label :: (PrimMonad m, Monoid v) => Tree (PrimState m) a v -> m a
- aggregate :: (PrimMonad m, Monoid v) => Tree (PrimState m) a v -> m v
- toList :: PrimMonad m => Tree (PrimState m) a v -> m [a]
- freeze :: PrimMonad m => Tree (PrimState m) a v -> m (Tree a)
- print :: Show a => Tree (PrimState IO) a v -> IO ()
- assertInvariants :: (PrimMonad m, Monoid v, Eq v, Show v) => Tree (PrimState m) a v -> m ()
- assertSingleton :: PrimMonad m => Tree (PrimState m) a v -> m ()
- assertRoot :: PrimMonad m => Tree (PrimState m) a v -> m ()
Documentation
Instances
append :: (PrimMonad m, Monoid v) => Tree (PrimState m) a v -> Tree (PrimState m) a v -> m (Tree (PrimState m) a v) Source #
Appends two trees. Returns the root of the tree.
split :: (PrimMonad m, Monoid v) => Tree (PrimState m) a v -> m (Maybe (Tree (PrimState m) a v), Maybe (Tree (PrimState m) a v)) Source #
connected :: (PrimMonad m, Monoid v) => Tree (PrimState m) a v -> Tree (PrimState m) a v -> m Bool Source #