| Safe Haskell | Safe |
|---|---|
| Language | Haskell2010 |
Data.RAList.Tree
Documentation
A Leaf is isomorphic to Identity, but we reimplement it here
to have domain specific type. The short constructor name is a bonus.
Constructors
| Lf a |
Instances
| Representable Leaf Source # | |
| Foldable Leaf Source # | |
Defined in Data.RAList.Tree.Internal Methods fold :: Monoid m => Leaf m -> m # foldMap :: Monoid m => (a -> m) -> Leaf a -> m # foldMap' :: Monoid m => (a -> m) -> Leaf a -> m # foldr :: (a -> b -> b) -> b -> Leaf a -> b # foldr' :: (a -> b -> b) -> b -> Leaf a -> b # foldl :: (b -> a -> b) -> b -> Leaf a -> b # foldl' :: (b -> a -> b) -> b -> Leaf a -> b # foldr1 :: (a -> a -> a) -> Leaf a -> a # foldl1 :: (a -> a -> a) -> Leaf a -> a # elem :: Eq a => a -> Leaf a -> Bool # maximum :: Ord a => Leaf a -> a # | |
| Foldable1 Leaf Source # | |
Defined in Data.RAList.Tree.Internal Methods fold1 :: Semigroup m => Leaf m -> m # foldMap1 :: Semigroup m => (a -> m) -> Leaf a -> m # foldMap1' :: Semigroup m => (a -> m) -> Leaf a -> m # toNonEmpty :: Leaf a -> NonEmpty a # maximum :: Ord a => Leaf a -> a # minimum :: Ord a => Leaf a -> a # foldrMap1 :: (a -> b) -> (a -> b -> b) -> Leaf a -> b # foldlMap1' :: (a -> b) -> (b -> a -> b) -> Leaf a -> b # foldlMap1 :: (a -> b) -> (b -> a -> b) -> Leaf a -> b # foldrMap1' :: (a -> b) -> (a -> b -> b) -> Leaf a -> b # | |
| Traversable Leaf Source # | |
| Functor Leaf Source # | |
| Distributive Leaf Source # | |
| Traversable1 Leaf Source # | |
| Show a => Show (Leaf a) Source # | |
| NFData a => NFData (Leaf a) Source # | |
Defined in Data.RAList.Tree.Internal | |
| Eq a => Eq (Leaf a) Source # | |
| Ord a => Ord (Leaf a) Source # | |
| Hashable a => Hashable (Leaf a) Source # | |
Defined in Data.RAList.Tree.Internal | |
| type Rep Leaf Source # | |
Defined in Data.RAList.Tree.Internal | |
Node is a product of two f. This way we can form a perfect binary tree.
Constructors
| Nd (f a) (f a) |
Instances
| Representable f => Representable (Node f) Source # | |
| Foldable f => Foldable (Node f) Source # | |
Defined in Data.RAList.Tree.Internal Methods fold :: Monoid m => Node f m -> m # foldMap :: Monoid m => (a -> m) -> Node f a -> m # foldMap' :: Monoid m => (a -> m) -> Node f a -> m # foldr :: (a -> b -> b) -> b -> Node f a -> b # foldr' :: (a -> b -> b) -> b -> Node f a -> b # foldl :: (b -> a -> b) -> b -> Node f a -> b # foldl' :: (b -> a -> b) -> b -> Node f a -> b # foldr1 :: (a -> a -> a) -> Node f a -> a # foldl1 :: (a -> a -> a) -> Node f a -> a # elem :: Eq a => a -> Node f a -> Bool # maximum :: Ord a => Node f a -> a # minimum :: Ord a => Node f a -> a # | |
| Foldable1 f => Foldable1 (Node f) Source # | |
Defined in Data.RAList.Tree.Internal Methods fold1 :: Semigroup m => Node f m -> m # foldMap1 :: Semigroup m => (a -> m) -> Node f a -> m # foldMap1' :: Semigroup m => (a -> m) -> Node f a -> m # toNonEmpty :: Node f a -> NonEmpty a # maximum :: Ord a => Node f a -> a # minimum :: Ord a => Node f a -> a # foldrMap1 :: (a -> b) -> (a -> b -> b) -> Node f a -> b # foldlMap1' :: (a -> b) -> (b -> a -> b) -> Node f a -> b # foldlMap1 :: (a -> b) -> (b -> a -> b) -> Node f a -> b # foldrMap1' :: (a -> b) -> (a -> b -> b) -> Node f a -> b # | |
| Traversable f => Traversable (Node f) Source # | |
| Functor f => Functor (Node f) Source # | |
| Distributive f => Distributive (Node f) Source # | |
| Traversable1 f => Traversable1 (Node f) Source # | |
| Show (f a) => Show (Node f a) Source # | |
| NFData (f a) => NFData (Node f a) Source # | |
Defined in Data.RAList.Tree.Internal | |
| Eq (f a) => Eq (Node f a) Source # | |
| Ord (f a) => Ord (Node f a) Source # | |
Defined in Data.RAList.Tree.Internal | |
| Hashable (f a) => Hashable (Node f a) Source # | |
Defined in Data.RAList.Tree.Internal | |
| type Rep (Node f) Source # | |
Defined in Data.RAList.Tree.Internal | |
Direction in Node.
Instances
| Foldable Dir Source # | |
Defined in Data.RAList.Tree.Internal Methods fold :: Monoid m => Dir m -> m # foldMap :: Monoid m => (a -> m) -> Dir a -> m # foldMap' :: Monoid m => (a -> m) -> Dir a -> m # foldr :: (a -> b -> b) -> b -> Dir a -> b # foldr' :: (a -> b -> b) -> b -> Dir a -> b # foldl :: (b -> a -> b) -> b -> Dir a -> b # foldl' :: (b -> a -> b) -> b -> Dir a -> b # foldr1 :: (a -> a -> a) -> Dir a -> a # foldl1 :: (a -> a -> a) -> Dir a -> a # elem :: Eq a => a -> Dir a -> Bool # maximum :: Ord a => Dir a -> a # | |
| Traversable Dir Source # | |
| Functor Dir Source # | |
| Show a => Show (Dir a) Source # | |
| Eq a => Eq (Dir a) Source # | |
| Ord a => Ord (Dir a) Source # | |