diff --git a/extra/combinators/cleave/cleave.factor b/extra/combinators/cleave/cleave.factor index 8018adaaa4..2f9e027211 100644 --- a/extra/combinators/cleave/cleave.factor +++ b/extra/combinators/cleave/cleave.factor @@ -1,8 +1,16 @@ -USING: kernel arrays sequences macros combinators ; +USING: kernel combinators quotations arrays sequences locals macros + shuffle combinators.lib ; IN: combinators.cleave +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +:: [ncleave] ( SEQ N -- quot ) + SEQ [ [ N nkeep ] curry ] map concat [ N ndrop ] append >quotation ; + +MACRO: ncleave ( seq n -- quot ) [ncleave] ; + ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! Cleave into array ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!