]> gitweb.factorcode.org Git - factor.git/commitdiff
sequences.extras: move some words to assocs.extras.
authorJohn Benediktsson <mrjbq7@gmail.com>
Mon, 20 Jul 2020 03:18:15 +0000 (20:18 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Mon, 20 Jul 2020 03:18:15 +0000 (20:18 -0700)
extra/assocs/extras/extras.factor
extra/sequences/extras/extras.factor

index a426ae456843bcdd1596ed1ac1c0e73a574fc62c..e0f78dbdd1f0d5b2722b20a92044db4b13a35719 100644 (file)
@@ -23,6 +23,24 @@ IN: assocs.extras
 
 : sum-values ( assoc -- n ) 0 [ + ] reduce-values ; inline
 
+: map-keys ( assoc quot: ( key -- key' ) -- assoc )
+    '[ _ dip ] assoc-map ; inline
+
+: map-values ( assoc quot: ( value -- value' ) -- assoc )
+    '[ swap _ dip swap ] assoc-map ; inline
+
+: filter-keys ( assoc quot: ( key -- key' ) -- assoc' )
+    '[ drop @ ] assoc-filter ; inline
+
+: filter-values ( assoc quot: ( value -- value' ) -- assoc' )
+    '[ nip @ ] assoc-filter ; inline
+
+: reject-keys ( assoc quot: ( key -- key' ) -- assoc' )
+    '[ drop @ ] assoc-reject ; inline
+
+: reject-values ( assoc quot: ( value -- value' ) -- assoc' )
+    '[ nip @ ] assoc-reject ; inline
+
 : if-assoc-empty ( ..a assoc quot1: ( ..a -- ..b ) quot2: ( ..a assoc -- ..b ) -- ..b )
     [ dup assoc-empty? ] [ [ drop ] prepose ] [ ] tri* if ; inline
 
@@ -171,4 +189,4 @@ PRIVATE>
     [ of ] with map sift ; inline
 
 : counts ( seq elts -- counts )
-    [ histogram ] dip intersect-keys ;
\ No newline at end of file
+    [ histogram ] dip intersect-keys ;
index d174e9b11a1433cdbd862e2f6169086949abb8d2..de6d8e4790c8d69a9d747737306c7093e01cc755 100644 (file)
@@ -608,27 +608,9 @@ PRIVATE>
 : count-subseq* ( subseq seq -- n )
     start-all* length ; inline
 
-: map-zip ( quot: ( x -- y ) -- alist )
+: map-zip ( quot: ( key -- value ) -- alist )
     '[ _ keep swap ] map>alist ; inline
 
-: map-keys ( assoc quot: ( key -- key' ) -- assoc )
-    '[ _ dip ] assoc-map ; inline
-
-: map-values ( assoc quot: ( value -- value' ) -- assoc )
-    '[ swap _ dip swap ] assoc-map ; inline
-
-: filter-keys ( assoc quot: ( key -- key' ) -- assoc' )
-    '[ drop @ ] assoc-filter ; inline
-
-: filter-values ( assoc quot: ( value -- value' ) -- assoc' )
-    '[ nip @ ] assoc-filter ; inline
-
-: reject-keys ( assoc quot: ( key -- key' ) -- assoc' )
-    '[ drop @ ] assoc-reject ; inline
-
-: reject-values ( assoc quot: ( value -- value' ) -- assoc' )
-    '[ nip @ ] assoc-reject ; inline
-
 : take-while ( ... seq quot: ( ... elt -- ... ? ) -- head-slice )
     [ '[ @ not ] find drop ] keepd swap
     [ dup length ] unless* head-slice ; inline