]> gitweb.factorcode.org Git - factor.git/blobdiff - extra/assocs/extras/extras.factor
extra: use push-at-each
[factor.git] / extra / assocs / extras / extras.factor
index 3425b13388831313ccdf170065096469f92594a8..98f9ebbb3eb2ebd4e1db006f58b5ace353b64e71 100644 (file)
@@ -4,6 +4,9 @@ USING: arrays assocs assocs.private kernel math math.statistics
 sequences sets ;
 IN: assocs.extras
 
+: push-at-each ( value keys assoc -- )
+    '[ _ push-at ] with each ; inline
+
 : deep-at ( assoc seq -- value/f )
     [ of ] each ; inline
 
@@ -148,7 +151,7 @@ PRIVATE>
 : expand-keys-push-at-as ( assoc exemplar -- hashtable' )
     [
         [ swap dup sequence? [ 1array ] unless ]
-        [ '[ _ push-at ] with each ]
+        [ push-at-each ]
     ] dip assoc>object ;
 
 : expand-keys-push-at ( assoc -- hashtable' )
@@ -235,9 +238,6 @@ PRIVATE>
     [ neg swap pick at+ ] assoc-each
     [ 0 > ] filter-values ;
 
-: push-at-each ( value keys assoc -- )
-    '[ _ push-at ] with each ; inline
-
 : collect-by-multi! ( ... assoc seq quot: ( ... obj -- ... key ) -- ... assoc )
     [ keep swap ] curry rot [
         [ push-at-each ] curry compose each