{ { "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
-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
: 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 ;