[Haskell-cafe] Custome monoid mappend on HashMap and HashSet values
Alexander V Vershilov
alexander.vershilov at gmail.com
Sat May 10 06:07:01 UTC 2014
Hi, John.
You can always use newtype wrapper if you need to overload existing method
behavior:
newtype MyHashMap a b = MyHashMap { unMy :: HashMap a b}
instance Monoid (MyHasMap a b) where
mempty = MyHasMap mempty
mappend a b = your_overloaded_function
Then just wrap and unwrap your data to do a custom mappend, also you can
write a wrapper function, in case if you'll restrict types then it may work
only for the types you need:
(<~>) :: HashMap Int (HashMap Int Int) -> HashMap Int (HashMap Int Int) ->
HashMap Int (HashMap Int Int)
a <~> b = unMy $ (<>) `on` MyHashMap a b
--
Alexander
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20140510/a51e23be/attachment.html>
More information about the Haskell-Cafe
mailing list