diff --git a/README.md b/README.md index b70fb36a..f507b5f4 100644 --- a/README.md +++ b/README.md @@ -430,6 +430,13 @@ instance semigroupStrMap :: (P.Semigroup a) => P.Semigroup (StrMap a) ``` +#### `monoidStrMap` + +``` purescript +instance monoidStrMap :: (P.Semigroup a) => Monoid (StrMap a) +``` + + ## Module Data.StrMap.ST diff --git a/src/Data/StrMap.purs b/src/Data/StrMap.purs index df5ab307..0920d7ce 100644 --- a/src/Data/StrMap.purs +++ b/src/Data/StrMap.purs @@ -293,3 +293,6 @@ map = P.(<$>) instance semigroupStrMap :: (P.Semigroup a) => P.Semigroup (StrMap a) where (<>) m1 m2 = mutate (\s -> foldM (\s k v2 -> SM.poke s k (runFn4 _lookup v2 (\v1 -> v1 P.<> v2) k m2)) s m1) m2 + +instance monoidStrMap :: (P.Semigroup a) => Monoid (StrMap a) where + mempty = empty