diff --git a/extra/combinators/cleave/cleave.factor b/extra/combinators/cleave/cleave.factor index 14172b31a1..4a036b6866 100755 --- a/extra/combinators/cleave/cleave.factor +++ b/extra/combinators/cleave/cleave.factor @@ -10,6 +10,13 @@ IN: combinators.cleave : >quots ( seq -- seq ) [ >quot ] map ; +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +:: [ncleave] ( SEQ N -- quot ) + SEQ >quots [ [ N nkeep ] curry ] map concat [ N ndrop ] append >quotation ; + +MACRO: ncleave ( seq n -- quot ) [ncleave] ; + ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! Cleave into array ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!