]> gitweb.factorcode.org Git - factor.git/blobdiff - extra/assocs/extras/extras.factor
assocs.extras: adding assoc-merge.
[factor.git] / extra / assocs / extras / extras.factor
index 21d0044c516391c49b5ba3ed1ef2badc1059a32b..ffdf53845d54b79cedc2de7076253cc5841ce199 100644 (file)
@@ -43,3 +43,9 @@ IN: assocs.extras
 
 : assoc-invert ( assoc -- newassoc )
     dup assoc-invert-as ;
+
+: (assoc-merge) ( assoc1 assoc2 -- assoc1 )
+    over [ push-at ] with-assoc assoc-each ;
+
+: assoc-merge ( seq -- merge )
+    H{ } clone [ (assoc-merge) ] reduce ;