Safe Haskell | None |
---|---|
Language | Haskell2010 |
- type Lev = Int
- type Cnt = Int
- data Dir
- data Tree a
- data TList a
- type Raz a = (TList a, a, TList a)
- randomLevel :: MonadRandom m => m Lev
- singleton :: a -> Raz a
- empty :: MonadRandom m => a -> m (Raz a)
- size :: Tree a -> Cnt
- trim :: Dir -> TList a -> TList a
- trim' :: Dir -> Tree a -> TList a -> TList a
- viewC :: Raz a -> a
- view :: Dir -> Raz a -> a
- view' :: Dir -> TList a -> a
- alterC :: a -> Raz a -> Raz a
- adjustC :: (a -> a) -> Raz a -> Raz a
- adjustC' :: (a -> a) -> Raz a -> Raz a
- alter :: Dir -> a -> Raz a -> Raz a
- alter' :: Dir -> a -> TList a -> TList a
- insert :: MonadRandom m => Dir -> a -> Raz a -> m (Raz a)
- remove :: Dir -> Raz a -> Raz a
- remove' :: Dir -> TList a -> (a, TList a)
- removeC :: Dir -> Raz a -> Raz a
- move :: Dir -> Raz a -> Raz a
- move' :: Dir -> TList a -> TList a -> Raz a
- focus :: Int -> Tree a -> Raz a
- focus' :: Int -> TList a -> TList a -> Tree a -> Raz a
- focusL :: Tree a -> Raz a
- focusL' :: TList a -> Tree a -> Raz a
- focusR :: Tree a -> Raz a
- focusR' :: TList a -> Tree a -> Raz a
- joinSides :: Tree a -> Tree a -> Tree a
- headAsTree :: TList a -> Tree a
- tail :: TList a -> TList a
- grow :: Dir -> TList a -> Tree a
- grow' :: Dir -> Tree a -> TList a -> Tree a
- unfocus :: Raz a -> Tree a
- fromList :: MonadRandom m => [a] -> m (Tree a)
- fromList' :: MonadRandom m => TList a -> [a] -> m (Tree a)
- push :: Lev -> TList a -> TList a
- fold :: TList a -> Tree a
- bin :: Lev -> Tree a -> Tree a -> Tree a
- insertAt' :: MonadRandom m => Dir -> Int -> a -> Tree a -> m (Tree a)
- showRaz :: (a -> String) -> Raz a -> String
- treeToList :: Dir -> Tree a -> [a] -> [a]
- halfToList :: Dir -> TList a -> [a] -> [a]
- showTree :: (a -> String) -> Tree a -> String
Documentation
randomLevel :: MonadRandom m => m Lev Source #
empty :: MonadRandom m => a -> m (Raz a) Source #
headAsTree :: TList a -> Tree a Source #
fromList :: MonadRandom m => [a] -> m (Tree a) Source #
Combinators
Displaying Raz
treeToList :: Dir -> Tree a -> [a] -> [a] Source #
halfToList :: Dir -> TList a -> [a] -> [a] Source #