| Copyright | © 2022–2023 Jonathan Knowles |
|---|---|
| License | Apache-2.0 |
| Safe Haskell | None |
| Language | Haskell2010 |
Data.MultiSet
Description
Synopsis
- data MultiSet (t :: MultiSetType) a
- data MultiSetType
- type MultiSetN = MultiSet 'N
- type MultiSetZ = MultiSet 'Z
- type family Multiplicity (t :: MultiSetType) where ...
- cardinality :: forall (t :: MultiSetType) a. MultiSet t a -> Multiplicity t
- multiplicity :: forall a (t :: MultiSetType). Ord a => a -> MultiSet t a -> Multiplicity t
- maximum :: forall (t :: MultiSetType) a. MultiSet t a -> Multiplicity t
- minimum :: forall (t :: MultiSetType) a. MultiSet t a -> Multiplicity t
- invert :: forall (t :: MultiSetType) a. MultiSet t a -> MultiSetZ a
- intersection :: forall a (t :: MultiSetType). Ord a => MultiSet t a -> MultiSet t a -> MultiSet t a
- union :: forall a (t :: MultiSetType). Ord a => MultiSet t a -> MultiSet t a -> MultiSet t a
- emptyN :: MultiSetN a
- emptyZ :: MultiSetZ a
- fromListN :: Ord a => [(a, Natural)] -> MultiSetN a
- fromListZ :: Ord a => [(a, Integer)] -> MultiSetZ a
- toList :: forall (t :: MultiSetType) a. MultiSet t a -> [(a, Multiplicity t)]
- toMultiSetZ :: Ord a => (MultiSetN a, MultiSetN a) -> MultiSetZ a
- toMultiSetN :: MultiSetZ a -> (MultiSetN a, MultiSetN a)
Documentation
data MultiSet (t :: MultiSetType) a Source #
data MultiSetType Source #
type family Multiplicity (t :: MultiSetType) where ... Source #
Maps the type of a multiset to the type of its multiplicity.
Equations
| Multiplicity 'N = Natural | |
| Multiplicity 'Z = Integer |
cardinality :: forall (t :: MultiSetType) a. MultiSet t a -> Multiplicity t Source #
multiplicity :: forall a (t :: MultiSetType). Ord a => a -> MultiSet t a -> Multiplicity t Source #
maximum :: forall (t :: MultiSetType) a. MultiSet t a -> Multiplicity t Source #
minimum :: forall (t :: MultiSetType) a. MultiSet t a -> Multiplicity t Source #
intersection :: forall a (t :: MultiSetType). Ord a => MultiSet t a -> MultiSet t a -> MultiSet t a Source #
union :: forall a (t :: MultiSetType). Ord a => MultiSet t a -> MultiSet t a -> MultiSet t a Source #
toList :: forall (t :: MultiSetType) a. MultiSet t a -> [(a, Multiplicity t)] Source #