できることは次のとおりです。
import qualified Data.Map.Lazy as Map
lst = Map.fromList [("john",3), ("greg",3), ("tom",2), ("rob",7), ("jason",4), ("tev",7)]
lst2 = Map.insert "ain" 3 $ Map.delete "rob" lst
解釈された Haskell を使用している場合、手順は基本的に同じです。
Prelude> import qualified Data.Map.Lazy as Map
Prelude Data.Map.Lazy> let lst = Map.fromList [("john",3), ("greg",3), ("tom",2), ("rob",7), ("jason",4), ("tev",7)]
Prelude Data.Map.Lazy> lst
fromList [("greg",3),("jason",4),("john",3),("rob",7),("tev",7),("tom",2)]
Prelude Data.Map.Lazy> let lst2 = Map.insert "ain" 3 $ Map.delete "rob" lst
Prelude Data.Map.Lazy> lst2
fromList [("ain",3),("greg",3),("jason",4),("john",3),("tev",7),("tom",2)]
「ain」は、「rob」があったマップ内の同じ「場所」にあるとは限らないことに注意してください。ただし、マップにはリストのような順序付けの概念がありません。