
Christian Maeder writes:
Adrian Hey wrote:
You mean am I proposing that Maps should retain old association values and discard the new ones? If so the answer is no, of course not.
Actually, for maps it makes (even more) sense to have an additional "insert-only-if-not-member" function, and be it only for (defining) "fromList". Maybe such a function should simply be called "add" to encourage its use.
{- | insert pair only if key is not a member yet (left-biased) leave map unchanged otherwise. -} add :: Ord a => Map a b -> a -> b -> Map a b
Properties:
insert k v m = add (delete k m) k v
add m k v = if member k m then m else insert k v m
Or, add m k v = insertWith (\_ oldV -> oldV) k v m
--
David Menendez