]> gitweb.factorcode.org Git - factor.git/commitdiff
grouping.extras: adding group-as and clump-as.
authorJohn Benediktsson <mrjbq7@gmail.com>
Tue, 26 Nov 2013 16:22:58 +0000 (08:22 -0800)
committerJohn Benediktsson <mrjbq7@gmail.com>
Tue, 26 Nov 2013 16:22:58 +0000 (08:22 -0800)
extra/grouping/extras/extras-tests.factor
extra/grouping/extras/extras.factor

index dc719e27b153e438a7f8c9515aa7ee627089048e..76ef71f627b8c440202c63f1c9a9e3f36a7d6998 100644 (file)
@@ -18,3 +18,6 @@ IN: grouping.extras
 
 { { "tail" "ail" "il" "l" } } [ "tail" tail-clump ] unit-test
 { { "h" "he" "hea" "head" } } [ "head" head-clump ] unit-test
+
+{ { B{ 97 115 } B{ 100 102 } } } [ "asdf" 2 B{ } group-as ] unit-test
+{ { { 97 115 } { 115 100 } { 100 102 } } } [ "asdf" 2 { } clump-as ] unit-test
index 6f1a8ac36c032a5659950d57127c2983c8d413b5..b48806528cd4ea194b0e5e1be67ba0c113fb47c9 100644 (file)
@@ -1,5 +1,6 @@
-USING: accessors combinators fry kernel macros math math.ranges
-sequences sequences.generalizations sequences.private ;
+USING: accessors combinators fry grouping kernel macros math
+math.ranges sequences sequences.generalizations
+sequences.private ;
 
 IN: grouping.extras
 
@@ -41,3 +42,9 @@ INSTANCE: tail-clumps immutable-sequence
 
 : tail-clump ( seq -- array )
     [ <tail-clumps> ] [ [ like ] curry map ] bi ;
+
+: clump-as ( seq n exemplar -- array )
+    [ <clumps> ] dip [ like ] curry map ;
+
+: group-as ( seq n exemplar -- array )
+    [ <groups> ] dip [ like ] curry map ;