| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Data.Magma
Synopsis
- class Magma a where
- (<>) :: a -> a -> a
- data BinaryTree a
- = Leaf a
- | Node (BinaryTree a) (BinaryTree a)
- cataBinaryTree :: (a -> r) -> (r -> r -> r) -> BinaryTree a -> r
- anaBinaryTree :: (b -> Either a (b, b)) -> b -> BinaryTree a
- foldMap :: Magma m => (a -> m) -> BinaryTree a -> m
- _Leaf :: forall p f a. (Choice p, Applicative f) => p a (f a) -> p (BinaryTree a) (f (BinaryTree a))
- _Node :: forall p f a. (Choice p, Applicative f) => p (BinaryTree a, BinaryTree a) (f (BinaryTree a, BinaryTree a)) -> p (BinaryTree a) (f (BinaryTree a))
- nodeLeft :: Applicative f => (BinaryTree a -> f (BinaryTree a)) -> BinaryTree a -> f (BinaryTree a)
- nodeRight :: Applicative f => (BinaryTree a -> f (BinaryTree a)) -> BinaryTree a -> f (BinaryTree a)
Documentation
Instances
| Magma All Source # | |
| Magma Any Source # | |
| Magma () Source # | |
Defined in Data.Magma | |
| Magma (First a) Source # | |
| Magma (Last a) Source # | |
| Ord a => Magma (Max a) Source # | |
| Ord a => Magma (Min a) Source # | |
| Monoid m => Magma (WrappedMonoid m) Source # | |
Defined in Data.Magma Methods (<>) :: WrappedMonoid m -> WrappedMonoid m -> WrappedMonoid m Source # | |
| Magma a => Magma (Dual a) Source # | |
| Magma (Endo a) Source # | |
| Num a => Magma (Product a) Source # | |
| Num a => Magma (Sum a) Source # | |
| Magma (BinaryTree a) Source # | |
Defined in Data.Magma Methods (<>) :: BinaryTree a -> BinaryTree a -> BinaryTree a Source # | |
| (Magma a, Magma b) => Magma (a, b) Source # | |
Defined in Data.Magma | |
data BinaryTree a Source #
Constructors
| Leaf a | |
| Node (BinaryTree a) (BinaryTree a) |
Instances
cataBinaryTree :: (a -> r) -> (r -> r -> r) -> BinaryTree a -> r Source #
anaBinaryTree :: (b -> Either a (b, b)) -> b -> BinaryTree a Source #
foldMap :: Magma m => (a -> m) -> BinaryTree a -> m Source #
_Leaf :: forall p f a. (Choice p, Applicative f) => p a (f a) -> p (BinaryTree a) (f (BinaryTree a)) Source #
_Leaf:: Prism' (BinaryTreea) a
_Node :: forall p f a. (Choice p, Applicative f) => p (BinaryTree a, BinaryTree a) (f (BinaryTree a, BinaryTree a)) -> p (BinaryTree a) (f (BinaryTree a)) Source #
_Node:: Prism' (BinaryTreea) (BinaryTreea,BinaryTreea)
nodeLeft :: Applicative f => (BinaryTree a -> f (BinaryTree a)) -> BinaryTree a -> f (BinaryTree a) Source #
nodeLeft:: Traversal' (BinaryTreea) (BinaryTreea)
nodeRight :: Applicative f => (BinaryTree a -> f (BinaryTree a)) -> BinaryTree a -> f (BinaryTree a) Source #
nodeRight:: Traversal' (BinaryTreea) (BinaryTreea)