]> gitweb.factorcode.org Git - factor.git/commitdiff
assocs.extras: move assocs extras words here.
authorJohn Benediktsson <mrjbq7@gmail.com>
Wed, 26 Sep 2012 22:33:40 +0000 (15:33 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Wed, 26 Sep 2012 22:33:40 +0000 (15:33 -0700)
extra/assocs/extras/extras.factor
extra/sequences/extras/extras.factor

index 6193c24ba650421d0d6c0d964945189a6fa3afe5..43ae4121e72b57247d68f33c8ec538a4bfd43cf4 100644 (file)
@@ -1,4 +1,4 @@
-! Copyright (C) 2012 John Benediktsson
+! Copyright (C) 2012 John Benediktsson, Doug Coleman
 ! See http://factorcode.org/license.txt for BSD license
 
 USING: arrays assocs assocs.private kernel sequences ;
@@ -21,3 +21,18 @@ IN: assocs.extras
 
 : substitute! ( seq assoc -- seq )
     substituter map! ;
+
+: assoc-reduce ( ... assoc identity quot: ( ... prev key value -- next ) -- ... result )
+    [ >alist ] 2dip [ first2 ] prepose reduce ; inline
+
+: reduce-keys ( ... assoc identity quot: ( ... prev elt -- ... next ) -- ... result )
+    [ drop ] prepose assoc-reduce ; inline
+
+: reduce-values ( ... assoc identity quot: ( ... prev elt -- ... next ) -- ... result )
+    [ nip ] prepose assoc-reduce ; inline
+
+: sum-keys ( assoc -- n ) 0 [ + ] reduce-keys ; inline
+
+: sum-values ( assoc -- n ) 0 [ + ] reduce-values ; inline
+
+
index 15010f6c32a7ef8f90f3fa434e07beba46307372..26e17f654a53fa109d2cf9a27e1fe40017ee186c 100644 (file)
@@ -337,18 +337,5 @@ PRIVATE>
 : reverse-as ( seq exemplar -- newseq )
     [ (reverse) ] [ like ] bi* ;
 
-: assoc-reduce ( ... assoc identity quot: ( ... prev key value -- next ) -- ... result )
-    [ >alist ] 2dip [ first2 ] prepose reduce ; inline
-
-: reduce-keys ( ... assoc identity quot: ( ... prev elt -- ... next ) -- ... result )
-    [ drop ] prepose assoc-reduce ; inline
-
-: reduce-values ( ... assoc identity quot: ( ... prev elt -- ... next ) -- ... result )
-    [ nip ] prepose assoc-reduce ; inline
-
-: sum-keys ( assoc -- n ) 0 [ + ] reduce-keys ; inline
-
-: sum-values ( assoc -- n ) 0 [ + ] reduce-values ; inline
-
 : map-product ( ... seq quot: ( ... elt -- ... n ) -- ... n )
     [ 1 ] 2dip [ dip * ] curry [ swap ] prepose each ; inline