commutative-0.0.2: Commutative binary operations.

Safe HaskellNone
LanguageHaskell2010

Data.Mergeable

Documentation

class Mergeable t where #

Methods

mergeMap :: CommutativeId m => (a -> m) -> t a -> m #

merge :: (a -> b -> b) -> b -> t a -> b #

Instances
Mergeable [] # 
Instance details

Defined in Data.Mergeable

Methods

mergeMap :: CommutativeId m => (a -> m) -> [a] -> m #

merge :: (a -> b -> b) -> b -> [a] -> b #

Mergeable Vector # 
Instance details

Defined in Data.Mergeable

Methods

mergeMap :: CommutativeId m => (a -> m) -> Vector a -> m #

merge :: (a -> b -> b) -> b -> Vector a -> b #

class Functor t => Mergeable1 t where #

Methods

mergeMap1 :: Commutative m => (a -> m) -> t a -> m #

merge1 :: Commutative m => t m -> m #

Instances
Mergeable1 NonEmpty # 
Instance details

Defined in Data.Mergeable

Methods

mergeMap1 :: Commutative m => (a -> m) -> NonEmpty a -> m #

merge1 :: Commutative m => NonEmpty m -> m #