You can simply do Map.foldl' (+) 0(or M.foldl'if you imported Data.Map as M).
foldl' (+) 0 . Map.elems, . ( apostrophe - foldl foldr, (Int, Integer, Float, Double ..), , , , .)
containers ( >= 0.4.2.0) Data.Map.foldl ', cabal install, GHC. , GHC 7.2 , foldl' (+) 0 . Map.elems - .
Data.Foldable.sum, Foldable typeclass, - .
:
normalize :: (Fractional a) => Map k a -> Map k a
normalize m = Map.map (/ total) m
where total = foldl' (+) 0 $ Map.elems m
Data.List foldl'.