| Safe Haskell | Safe |
|---|---|
| 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 () Source # | |
Defined in Data.Magma | |
| Magma All Source # | |
Defined in Data.Magma | |
| Magma Any Source # | |
Defined in Data.Magma | |
| Magma (Endo a) Source # | |
Defined in Data.Magma | |
| Num a => Magma (Sum a) Source # | |
Defined in Data.Magma | |
| Num a => Magma (Product a) Source # | |
Defined in Data.Magma | |
| Magma (Last a) Source # | |
Defined in Data.Magma | |
| Magma (First a) Source # | |
Defined in Data.Magma | |
| Magma a => Magma (Dual a) Source # | |
Defined in Data.Magma | |
| Ord a => Magma (Max a) Source # | |
Defined in Data.Magma | |
| Ord a => Magma (Min a) Source # | |
Defined in Data.Magma | |
| Monoid m => Magma (WrappedMonoid m) Source # | |
Defined in Data.Magma | |
| 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
| Monad BinaryTree Source # | |
Defined in Data.Magma Methods (>>=) :: BinaryTree a -> (a -> BinaryTree b) -> BinaryTree b (>>) :: BinaryTree a -> BinaryTree b -> BinaryTree b return :: a -> BinaryTree a fail :: String -> BinaryTree a | |
| Functor BinaryTree Source # | |
Defined in Data.Magma Methods fmap :: (a -> b) -> BinaryTree a -> BinaryTree b # (<$) :: a -> BinaryTree b -> BinaryTree a # | |
| Applicative BinaryTree Source # | |
Defined in Data.Magma Methods pure :: a -> BinaryTree a (<*>) :: BinaryTree (a -> b) -> BinaryTree a -> BinaryTree b liftA2 :: (a -> b -> c) -> BinaryTree a -> BinaryTree b -> BinaryTree c (*>) :: BinaryTree a -> BinaryTree b -> BinaryTree b (<*) :: BinaryTree a -> BinaryTree b -> BinaryTree a | |
| Foldable BinaryTree Source # | |
Defined in Data.Magma Methods fold :: Monoid m => BinaryTree m -> m foldMap :: Monoid m => (a -> m) -> BinaryTree a -> m foldr :: (a -> b -> b) -> b -> BinaryTree a -> b foldr' :: (a -> b -> b) -> b -> BinaryTree a -> b foldl :: (b -> a -> b) -> b -> BinaryTree a -> b foldl' :: (b -> a -> b) -> b -> BinaryTree a -> b foldr1 :: (a -> a -> a) -> BinaryTree a -> a foldl1 :: (a -> a -> a) -> BinaryTree a -> a toList :: BinaryTree a -> [a] null :: BinaryTree a -> Bool length :: BinaryTree a -> Int elem :: Eq a => a -> BinaryTree a -> Bool maximum :: Ord a => BinaryTree a -> a minimum :: Ord a => BinaryTree a -> a sum :: Num a => BinaryTree a -> a product :: Num a => BinaryTree a -> a | |
| Traversable BinaryTree Source # | |
Defined in Data.Magma Methods traverse :: Applicative f => (a -> f b) -> BinaryTree a -> f (BinaryTree b) sequenceA :: Applicative f => BinaryTree (f a) -> f (BinaryTree a) mapM :: Monad m => (a -> m b) -> BinaryTree a -> m (BinaryTree b) sequence :: Monad m => BinaryTree (m a) -> m (BinaryTree a) | |
| Eq a => Eq (BinaryTree a) Source # | |
Defined in Data.Magma | |
| Ord a => Ord (BinaryTree a) Source # | |
Defined in Data.Magma Methods compare :: BinaryTree a -> BinaryTree a -> Ordering (<) :: BinaryTree a -> BinaryTree a -> Bool (<=) :: BinaryTree a -> BinaryTree a -> Bool (>) :: BinaryTree a -> BinaryTree a -> Bool (>=) :: BinaryTree a -> BinaryTree a -> Bool max :: BinaryTree a -> BinaryTree a -> BinaryTree a min :: BinaryTree a -> BinaryTree a -> BinaryTree a | |
| Read a => Read (BinaryTree a) Source # | |
Defined in Data.Magma Methods readsPrec :: Int -> ReadS (BinaryTree a) readList :: ReadS [BinaryTree a] readPrec :: ReadPrec (BinaryTree a) readListPrec :: ReadPrec [BinaryTree a] | |
| Show a => Show (BinaryTree a) Source # | |
Defined in Data.Magma Methods showsPrec :: Int -> BinaryTree a -> ShowS show :: BinaryTree a -> String showList :: [BinaryTree a] -> ShowS | |
| NFData a => NFData (BinaryTree a) Source # | |
Defined in Data.Magma Methods rnf :: BinaryTree a -> () | |
| Magma (BinaryTree a) Source # | |
Defined in Data.Magma Methods (<>) :: BinaryTree a -> BinaryTree a -> BinaryTree a Source # | |
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)