zeolite-lang-0.10.0.0: Zeolite is a statically-typed, general-purpose programming language.
Safe HaskellSafe
LanguageHaskell2010

Base.MergeTree

Documentation

data MergeTree a Source #

Instances

Instances details
Monad MergeTree Source # 
Instance details

Defined in Base.MergeTree

Methods

(>>=) :: MergeTree a -> (a -> MergeTree b) -> MergeTree b #

(>>) :: MergeTree a -> MergeTree b -> MergeTree b #

return :: a -> MergeTree a #

Functor MergeTree Source # 
Instance details

Defined in Base.MergeTree

Methods

fmap :: (a -> b) -> MergeTree a -> MergeTree b #

(<$) :: a -> MergeTree b -> MergeTree a #

Applicative MergeTree Source # 
Instance details

Defined in Base.MergeTree

Methods

pure :: a -> MergeTree a #

(<*>) :: MergeTree (a -> b) -> MergeTree a -> MergeTree b #

liftA2 :: (a -> b -> c) -> MergeTree a -> MergeTree b -> MergeTree c #

(*>) :: MergeTree a -> MergeTree b -> MergeTree b #

(<*) :: MergeTree a -> MergeTree b -> MergeTree a #

Foldable MergeTree Source # 
Instance details

Defined in Base.MergeTree

Methods

fold :: Monoid m => MergeTree m -> m #

foldMap :: Monoid m => (a -> m) -> MergeTree a -> m #

foldMap' :: Monoid m => (a -> m) -> MergeTree a -> m #

foldr :: (a -> b -> b) -> b -> MergeTree a -> b #

foldr' :: (a -> b -> b) -> b -> MergeTree a -> b #

foldl :: (b -> a -> b) -> b -> MergeTree a -> b #

foldl' :: (b -> a -> b) -> b -> MergeTree a -> b #

foldr1 :: (a -> a -> a) -> MergeTree a -> a #

foldl1 :: (a -> a -> a) -> MergeTree a -> a #

toList :: MergeTree a -> [a] #

null :: MergeTree a -> Bool #

length :: MergeTree a -> Int #

elem :: Eq a => a -> MergeTree a -> Bool #

maximum :: Ord a => MergeTree a -> a #

minimum :: Ord a => MergeTree a -> a #

sum :: Num a => MergeTree a -> a #

product :: Num a => MergeTree a -> a #

Traversable MergeTree Source # 
Instance details

Defined in Base.MergeTree

Methods

traverse :: Applicative f => (a -> f b) -> MergeTree a -> f (MergeTree b) #

sequenceA :: Applicative f => MergeTree (f a) -> f (MergeTree a) #

mapM :: Monad m => (a -> m b) -> MergeTree a -> m (MergeTree b) #

sequence :: Monad m => MergeTree (m a) -> m (MergeTree a) #

Bounded (MergeTree a) Source # 
Instance details

Defined in Base.MergeTree

Eq a => Eq (MergeTree a) Source # 
Instance details

Defined in Base.MergeTree

Methods

(==) :: MergeTree a -> MergeTree a -> Bool #

(/=) :: MergeTree a -> MergeTree a -> Bool #

Show a => Show (MergeTree a) Source # 
Instance details

Defined in Base.MergeTree

PreserveMerge (MergeTree a) Source # 
Instance details

Defined in Base.MergeTree

Associated Types

type T (MergeTree a) Source #

Methods

convertMerge :: Mergeable b => (T (MergeTree a) -> b) -> MergeTree a -> b Source #

Mergeable (MergeTree a) Source # 
Instance details

Defined in Base.MergeTree

Methods

mergeAny :: Foldable f => f (MergeTree a) -> MergeTree a Source #

mergeAll :: Foldable f => f (MergeTree a) -> MergeTree a Source #

type T (MergeTree a) Source # 
Instance details

Defined in Base.MergeTree

type T (MergeTree a) = a

mergeAllM :: (PreserveMerge a, CompileErrorM m) => [m a] -> m a Source #

mergeAnyM :: (PreserveMerge a, CompileErrorM m) => [m a] -> m a Source #

pairMergeTree :: (PreserveMerge a, PreserveMerge b) => ([c] -> c) -> ([c] -> c) -> (T a -> T b -> c) -> a -> b -> c Source #

reduceMergeTree :: PreserveMerge a => ([b] -> b) -> ([b] -> b) -> (T a -> b) -> a -> b Source #