]> gitweb.factorcode.org Git - factor.git/blobdiff - extra/assocs/extras/extras.factor
escape-strings: Add a way to find the shortest lua-string escape.
[factor.git] / extra / assocs / extras / extras.factor
index 27da0347e9af32b057a95b0c96333cf9c4b960a2..a426ae456843bcdd1596ed1ac1c0e73a574fc62c 100644 (file)
@@ -1,7 +1,7 @@
 ! Copyright (C) 2012 John Benediktsson, Doug Coleman
 ! See http://factorcode.org/license.txt for BSD license
 USING: arrays assocs assocs.private fry generalizations kernel
-math sequences ;
+math math.statistics sequences sequences.extras ;
 IN: assocs.extras
 
 : deep-at ( assoc seq -- value/f )
@@ -163,3 +163,12 @@ PRIVATE>
 
 : flatten-values ( assoc -- assoc' )
     dup any-multi-value? [ expand-values-set-at flatten-values ] when ;
+
+: intersect-keys ( assoc seq -- elts )
+    [ of ] with map-zip sift-values ; inline
+
+: values-of ( assoc seq -- elts )
+    [ of ] with map sift ; inline
+
+: counts ( seq elts -- counts )
+    [ histogram ] dip intersect-keys ;
\ No newline at end of file