Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
Documentation
A Leaf
is isomorphic to Identity
, but we reimplement it here
to have domain specific type. The short constructor name is a bonus.
Lf a |
Instances
Representable Leaf Source # | |
Foldable Leaf Source # | |
Defined in Data.RAList.Tree.Internal 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 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.
Nd (f a) (f a) |
Instances
Representable f => Representable (Node f) Source # | |
Foldable f => Foldable (Node f) Source # | |
Defined in Data.RAList.Tree.Internal 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 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 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 # | |