rest-rewrite-0.4.3: Rewriting library with online termination checking
Safe HaskellSafe-Inferred
LanguageHaskell2010

Language.REST.Internal.MultiSet

Synopsis

Documentation

data MultiSet a Source #

Instances

Instances details
Generic (MultiSet a) Source # 
Instance details

Defined in Language.REST.Internal.MultiSet

Associated Types

type Rep (MultiSet a) :: Type -> Type #

Methods

from :: MultiSet a -> Rep (MultiSet a) x #

to :: Rep (MultiSet a) x -> MultiSet a #

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

Defined in Language.REST.Internal.MultiSet

Methods

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

show :: MultiSet a -> String #

showList :: [MultiSet a] -> ShowS #

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

Defined in Language.REST.Internal.MultiSet

Methods

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

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

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

Defined in Language.REST.Internal.MultiSet

Methods

compare :: MultiSet a -> MultiSet a -> Ordering #

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

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

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

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

max :: MultiSet a -> MultiSet a -> MultiSet a #

min :: MultiSet a -> MultiSet a -> MultiSet a #

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

Defined in Language.REST.Internal.MultiSet

Methods

hashWithSalt :: Int -> MultiSet a -> Int #

hash :: MultiSet a -> Int #

type Rep (MultiSet a) Source # 
Instance details

Defined in Language.REST.Internal.MultiSet

type Rep (MultiSet a) = D1 ('MetaData "MultiSet" "Language.REST.Internal.MultiSet" "rest-rewrite-0.4.3-L4CHsmDzf4PMYNf7CqgfF" 'True) (C1 ('MetaCons "MultiSet" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (HashMap a Int))))

delete :: (Hashable a, Eq a) => a -> MultiSet a -> MultiSet a Source #

delete k m removes a single instance of k from the multiset m. If k is not in the multiset, the original multiset is returned

deleteMany :: (Hashable a, Eq a) => a -> Int -> MultiSet a -> MultiSet a Source #

delete k n m removes n instances of k from the multiset m. If there are less than n instances of k in the multiset, all instances are removed.

filter :: (a -> Bool) -> MultiSet a -> MultiSet a Source #

insert :: (Eq a, Hashable a) => a -> MultiSet a -> MultiSet a Source #

member :: (Eq a, Hashable a) => a -> MultiSet a -> Bool Source #

member k m returns true iff there is at least one instance of k in m

toList :: MultiSet a -> [a] Source #

singleton :: (Eq a, Hashable a) => a -> MultiSet a Source #

fromList :: (Eq a, Hashable a) => [a] -> MultiSet a Source #