]> gitweb.factorcode.org Git - factor.git/commitdiff
Add ncleave back to combinators.cleave, since it does not behave like generalizations...
authorSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Thu, 18 Dec 2008 09:38:21 +0000 (03:38 -0600)
committerSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Thu, 18 Dec 2008 09:38:21 +0000 (03:38 -0600)
extra/combinators/cleave/cleave.factor

index 14172b31a10150d557a4f64601422bb5d96e2607..4a036b68665ede0577648e0cfc39ef17d904b8a3 100755 (executable)
@@ -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
 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!