JS
Size: a a a
JS
SD
>>> d | [('spam', 999)]
Traceback (most recent call last):
...
TypeError: can only merge dict (not "list") to dict
>>> d |= [('spam', 999)]
>>> d
{'eggs': 2, 'cheese': 'cheddar', 'aardvark': 'Ethel', 'spam': 999}
SD
JS
АХ
unionWith (<>)
а не использовать для этого FirstJS
unionWith (<>)
а не использовать для этого FirstАХ
union @@First
JS
union @@First
JS
(map1 <> map2) @@(Monoid First)
?АХ
instance Monoid a => Monoid (Map k a)
JS
instance Monoid a => Monoid (Map k a)
АХ
JS
union @@First
АХ
union @@First
там просто вставляются coerce :: Map k v -> Map k (First v)
и обратноJS
union @@First
там просто вставляются coerce :: Map k v -> Map k (First v)
и обратноunionWith somethingFirst
?АХ
Monoid v
лучше тем, что его тогда можно подменять привыводни инстансов DerivingVia, а так там First прибит гвоздёмMK
DI
DI
MK