monoidmap-0.0.1.3: Monoidal map type
Copyright© 2022–2024 Jonathan Knowles
LicenseApache-2.0
Safe HaskellSafe-Inferred
LanguageHaskell2010

Examples.MultiMap.Instances.MultiMap1

Description

An unlawful implementation of MultiMap, implemented in terms of Map and Set.

This implementation has several subtle bugs. 💥

Documentation

newtype MultiMap1 k v Source #

Constructors

MultiMap (Map k (Set v)) 

Instances

Instances details
(Ord k, Ord v) => MultiMap MultiMap1 k v Source # 
Instance details

Defined in Examples.MultiMap.Instances.MultiMap1

Methods

fromList :: [(k, Set v)] -> MultiMap1 k v Source #

toList :: MultiMap1 k v -> [(k, Set v)] Source #

empty :: MultiMap1 k v Source #

lookup :: k -> MultiMap1 k v -> Set v Source #

null :: MultiMap1 k v -> Bool Source #

nonNull :: MultiMap1 k v -> Bool Source #

nonNullKey :: k -> MultiMap1 k v -> Bool Source #

nonNullKeys :: MultiMap1 k v -> Set k Source #

nonNullCount :: MultiMap1 k v -> Int Source #

isSubmapOf :: MultiMap1 k v -> MultiMap1 k v -> Bool Source #

update :: k -> Set v -> MultiMap1 k v -> MultiMap1 k v Source #

insert :: k -> Set v -> MultiMap1 k v -> MultiMap1 k v Source #

remove :: k -> Set v -> MultiMap1 k v -> MultiMap1 k v Source #

union :: MultiMap1 k v -> MultiMap1 k v -> MultiMap1 k v Source #

intersection :: MultiMap1 k v -> MultiMap1 k v -> MultiMap1 k v Source #

(Show k, Show v) => Show (MultiMap1 k v) Source # 
Instance details

Defined in Examples.MultiMap.Instances.MultiMap1

Methods

showsPrec :: Int -> MultiMap1 k v -> ShowS #

show :: MultiMap1 k v -> String #

showList :: [MultiMap1 k v] -> ShowS #

(Eq k, Eq v) => Eq (MultiMap1 k v) Source # 
Instance details

Defined in Examples.MultiMap.Instances.MultiMap1

Methods

(==) :: MultiMap1 k v -> MultiMap1 k v -> Bool #

(/=) :: MultiMap1 k v -> MultiMap1 k v -> Bool #