git.iko.soy/monoidal-containers
on master help sign in
Make insert correspond semantically
commit6e89203a943ac596893c57a76ef4dd4e336550e8 author3noch <eacameron@gmail.com> dateWed 3 Apr 2019, 01:49 (8 years ago) parentc87018b
2 files changed+4−4
src/Data/Map/Monoidal.hs+2−2 src/Data/Map/Monoidal/Strict.hs+2−2
src/Data/Map/Monoidal.hs+2−2
@@ -323,8 +323,8 @@ empty :: forall k a. MonoidalMap k a
323323empty = coerce (M.empty :: M.Map k a)
324324{-# INLINE empty #-}
325325
326−insert :: forall k a. Ord k => k -> a -> MonoidalMap k a -> MonoidalMap k a
327−insert = coerce (M.insert :: k -> a -> M.Map k a -> M.Map k a)
326+insert :: forall k a. (Ord k, Semigroup a) => k -> a -> MonoidalMap k a -> MonoidalMap k a
327+insert = insertWith (<>)
328328{-# INLINE insert #-}
329329
330330insertWith :: forall k a. Ord k => (a -> a -> a) -> k -> a -> MonoidalMap k a -> MonoidalMap k a
src/Data/Map/Monoidal/Strict.hs+2−2
@@ -322,8 +322,8 @@ empty :: forall k a. MonoidalMap k a
322322empty = coerce (M.empty :: M.Map k a)
323323{-# INLINE empty #-}
324324
325−insert :: forall k a. Ord k => k -> a -> MonoidalMap k a -> MonoidalMap k a
326−insert = coerce (M.insert :: k -> a -> M.Map k a -> M.Map k a)
325+insert :: forall k a. (Ord k, Semigroup a) => k -> a -> MonoidalMap k a -> MonoidalMap k a
326+insert = insertWith (<>)
327327{-# INLINE insert #-}
328328
329329insertWith :: forall k a. Ord k => (a -> a -> a) -> k -> a -> MonoidalMap k a -> MonoidalMap k a