]> gitweb.factorcode.org Git - factor.git/commitdiff
Clearer <pipes> word
authorDoug Coleman <doug.coleman@gmail.com>
Thu, 17 Jun 2010 16:02:47 +0000 (11:02 -0500)
committerDoug Coleman <doug.coleman@gmail.com>
Thu, 17 Jun 2010 16:02:47 +0000 (11:02 -0500)
basis/io/pipes/pipes.factor

index 8d747086a7b1a32f7367e0388f14c4ec4b856980..73de6bf1a26ead32e9bc366e60f75138d131fc1f 100644 (file)
@@ -37,17 +37,22 @@ M: callable run-pipeline-element
         '[ _ call( -- result ) ] with-streams*
     ] with-destructors ;
 
-: <pipes> ( n -- pipes )
+GENERIC: <pipes> ( obj -- pipes )
+
+M: integer <pipes> ( n -- pipes )
     [
         [ (pipe) |dispose ] replicate
         T{ pipe } [ prefix ] [ suffix ] bi
         2 <clumps>
     ] with-destructors ;
 
+M: sequence <pipes>
+    [ { } ] [ length 1 - <pipes> ] if-empty ;
+
 PRIVATE>
 
 : run-pipeline ( seq -- results )
-    [ length dup zero? [ drop { } ] [ 1 - <pipes> ] if ] keep
+    [ <pipes> ] keep
     [
         [ [ first in>> ] [ second out>> ] bi ] dip
         run-pipeline-element