Safe Haskell | None |
---|
- module Data.Semigroup.Reducer
- class HasUnion f where
- union :: f -> f -> f
- class HasUnion f => HasUnion0 f where
- empty :: f
- newtype Union f = Union {
- getUnion :: f
- class Functor f => HasUnionWith f where
- unionWith :: (a -> a -> a) -> f a -> f a -> f a
- class HasUnionWith f => HasUnionWith0 f where
- emptyWith :: f a
- newtype UnionWith f m = UnionWith {
- getUnionWith :: f m
Documentation
module Data.Semigroup.Reducer
Unions of Containers
class HasUnion f => HasUnion0 f whereSource
HasUnion0 IntSet | |
(HasUnion [a], Eq a) => HasUnion0 [a] | |
HasUnion (IntMap a) => HasUnion0 (IntMap a) | |
(HasUnion (Set a), Ord a) => HasUnion0 (Set a) | |
(HasUnion (HashSet a), Eq a, Hashable a) => HasUnion0 (HashSet a) | |
(HasUnion (Map k a), Ord k) => HasUnion0 (Map k a) | |
(HasUnion (HashMap k a), Eq k, Hashable k) => HasUnion0 (HashMap k a) |
Functor Union | |
Foldable Union | |
Traversable Union | |
Traversable1 Union | |
Foldable1 Union | |
(Semigroup (Union f), HasUnion f) => Reducer f (Union f) | |
Eq f => Eq (Union 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
HasUnionWith IntMap | |
(Functor (Map k), Ord k) => HasUnionWith (Map k) |
class HasUnionWith f => HasUnionWith0 f whereSource
HasUnionWith0 IntMap | |
(HasUnionWith (Map k), Ord k) => HasUnionWith0 (Map k) |
UnionWith | |
|
(Semigroup (UnionWith f m), 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) |