]> gitweb.factorcode.org Git - factor.git/blobdiff - extra/sequences/lib/lib.factor
Fix conflict
[factor.git] / extra / sequences / lib / lib.factor
old mode 100644 (file)
new mode 100755 (executable)
index ba2fb05..269c22e
@@ -106,6 +106,15 @@ PRIVATE>
 : power-set ( seq -- subsets )
     2 over length exact-number-strings swap [ nths ] curry map ;
 
+: push-either ( elt quot accum1 accum2 -- )
+    >r >r keep swap r> r> ? push ; inline
+
+: 2pusher ( quot -- quot accum1 accum2 )
+    V{ } clone V{ } clone [ [ push-either ] 3curry ] 2keep ; inline
+
+: partition ( seq quot -- trueseq falseseq )
+    over >r 2pusher >r >r each r> r> r> drop ; inline
+
 : cut-find ( seq pred -- before after )
     dupd find drop dup [ cut ] when ;