monoidmap-examples
Copyright© 2022–2026 Jonathan Knowles
LicenseApache-2.0
Safe HaskellNone
LanguageHaskell2010

Data.MonoidMap.Examples.MultiSet

Description

A multiset type, implemented in terms of MonoidMap.

See: https://en.wikipedia.org/wiki/Multiset

Documentation

data MultiSet a Source #

Instances

Instances details
Ord a => Commutative (MultiSet a) Source # 
Instance details

Defined in Data.MonoidMap.Examples.MultiSet

Ord a => Monoid (MultiSet a) Source # 
Instance details

Defined in Data.MonoidMap.Examples.MultiSet

Methods

mempty :: MultiSet a #

mappend :: MultiSet a -> MultiSet a -> MultiSet a #

mconcat :: [MultiSet a] -> MultiSet a #

Ord a => Semigroup (MultiSet a) Source # 
Instance details

Defined in Data.MonoidMap.Examples.MultiSet

Methods

(<>) :: MultiSet a -> MultiSet a -> MultiSet a #

sconcat :: NonEmpty (MultiSet a) -> MultiSet a #

stimes :: Integral b => b -> MultiSet a -> MultiSet a #

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

Defined in Data.MonoidMap.Examples.MultiSet

Methods

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

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

(Ord a, Read a) => Read (MultiSet a) Source # 
Instance details

Defined in Data.MonoidMap.Examples.MultiSet

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

Defined in Data.MonoidMap.Examples.MultiSet

Methods

showsPrec :: Int -> MultiSet a -> ShowS #

show :: MultiSet a -> String #

showList :: [MultiSet a] -> ShowS #

Ord a => DistributiveGCDMonoid (MultiSet a) Source # 
Instance details

Defined in Data.MonoidMap.Examples.MultiSet

Ord a => GCDMonoid (MultiSet a) Source # 
Instance details

Defined in Data.MonoidMap.Examples.MultiSet

Methods

gcd :: MultiSet a -> MultiSet a -> MultiSet a #

Ord a => LeftDistributiveGCDMonoid (MultiSet a) Source # 
Instance details

Defined in Data.MonoidMap.Examples.MultiSet

Ord a => LeftGCDMonoid (MultiSet a) Source # 
Instance details

Defined in Data.MonoidMap.Examples.MultiSet

Ord a => RightDistributiveGCDMonoid (MultiSet a) Source # 
Instance details

Defined in Data.MonoidMap.Examples.MultiSet

Ord a => RightGCDMonoid (MultiSet a) Source # 
Instance details

Defined in Data.MonoidMap.Examples.MultiSet

Ord a => DistributiveLCMMonoid (MultiSet a) Source # 
Instance details

Defined in Data.MonoidMap.Examples.MultiSet

Ord a => LCMMonoid (MultiSet a) Source # 
Instance details

Defined in Data.MonoidMap.Examples.MultiSet

Methods

lcm :: MultiSet a -> MultiSet a -> MultiSet a #

Ord a => Monus (MultiSet a) Source # 
Instance details

Defined in Data.MonoidMap.Examples.MultiSet

Methods

(<\>) :: MultiSet a -> MultiSet a -> MultiSet a #

Ord a => OverlappingGCDMonoid (MultiSet a) Source # 
Instance details

Defined in Data.MonoidMap.Examples.MultiSet

Ord a => MonoidNull (MultiSet a) Source # 
Instance details

Defined in Data.MonoidMap.Examples.MultiSet

Methods

null :: MultiSet a -> Bool #

Ord a => PositiveMonoid (MultiSet a) Source # 
Instance details

Defined in Data.MonoidMap.Examples.MultiSet

Ord a => Cancellative (MultiSet a) Source # 
Instance details

Defined in Data.MonoidMap.Examples.MultiSet

Ord a => LeftCancellative (MultiSet a) Source # 
Instance details

Defined in Data.MonoidMap.Examples.MultiSet

Ord a => LeftReductive (MultiSet a) Source # 
Instance details

Defined in Data.MonoidMap.Examples.MultiSet

Ord a => Reductive (MultiSet a) Source # 
Instance details

Defined in Data.MonoidMap.Examples.MultiSet

Methods

(</>) :: MultiSet a -> MultiSet a -> Maybe (MultiSet a) #

Ord a => RightCancellative (MultiSet a) Source # 
Instance details

Defined in Data.MonoidMap.Examples.MultiSet

Ord a => RightReductive (MultiSet a) Source # 
Instance details

Defined in Data.MonoidMap.Examples.MultiSet

fromList :: Ord a => [(a, Natural)] -> MultiSet a Source #

toList :: MultiSet a -> [(a, Natural)] Source #

member :: Ord a => a -> MultiSet a -> Bool Source #

root :: Ord a => MultiSet a -> Set a Source #

union :: Ord a => MultiSet a -> MultiSet a -> MultiSet a Source #

add :: Ord a => MultiSet a -> MultiSet a -> MultiSet a Source #