reducers-0.1.2: Semigroups, specialized containers and a general map/reduce framework

Data.Semigroup.Union

Contents

Synopsis

Documentation

Unions of Containers

class HasUnion f whereSource

A Container suitable for the Union Monoid

Methods

union :: f -> f -> fSource

Instances

HasUnion IntSet 
Eq a => HasUnion [a] 
HasUnion (IntMap a) 
Ord a => HasUnion (Set a) 
(Eq a, Hashable a) => HasUnion (HashSet a) 
Ord k => HasUnion (Map k a) 
Eq k => HasUnion (HashMap k a) 

empty :: HasUnion0 f => fSource

newtype Union f Source

Constructors

Union 

Fields

getUnion :: f
 

Instances

Functor Union 
Foldable Union 
Traversable Union 
Foldable1 Union 
Traversable1 Union 
HasUnion f => Reducer f (Union f) 
Eq f => Eq (Union f) 
Ord f => Ord (Union f) 
Read f => Read (Union f) 
Show f => Show (Union f) 
HasUnion0 f => Monoid (Union f) 
HasUnion f => Semigroup (Union f) 

Unions of Containers of Semigroups

class Functor f => HasUnionWith f whereSource

Polymorphic containers that we can supply an operation to handle unions with

Methods

unionWith :: (a -> a -> a) -> f a -> f a -> f aSource

Instances

emptyWith :: HasUnionWith0 f => f aSource

newtype UnionWith f m Source

The Monoid ('unionWith mappend',empty) for containers full of monoids.

Constructors

UnionWith 

Fields

getUnionWith :: f m
 

Instances

(HasUnionWith f, Semigroup m, Monoid m) => Reducer (f m) (UnionWith f m) 
(HasUnionWith0 f, Monoid m) => Monoid (UnionWith f m) 
(HasUnionWith f, Semigroup m) => Semigroup (UnionWith f m)