refs #7503
Change-Id: Ibc03b5c51365e4d5c2d2250fbf7265adc298a84a
remove :: T a b -> a -> <Proc> (Maybe b)
clear :: T a b -> <Proc> ()
remove :: T a b -> a -> <Proc> (Maybe b)
clear :: T a b -> <Proc> ()
+@inline
+getOrCreate :: T a b -> (a -> <e> b) -> a -> <Proc,e> b
+getOrCreate m f k = match get m k with
+ Just v -> v
+ Nothing -> do
+ v = f k
+ put m k v
+ v
+
@inline
iter :: (a -> b -> <e> ()) -> T a b -> <e,Proc> ()
iter f m = MSet.iter (\entry -> f (keyOf entry) (valueOf entry)) (entrySet m)
@inline
iter :: (a -> b -> <e> ()) -> T a b -> <e,Proc> ()
iter f m = MSet.iter (\entry -> f (keyOf entry) (valueOf entry)) (entrySet m)