On Sep 6, 2011, at 10:58, Glenn Knickerbocker wrote:
> On 09/06/2011 11:16 AM, Paul Gilmartin wrote:
>> I didn't know it was possible to refer to labels once a pipeline had
>> been created.
>
> It's not. Each of those f: labels is for a new FANINANY in a new
> subroutine pipeline. That's why you'd run out of resources after adding
> thousands of them.
>
I didn't read your example carefully enough. (I knew why I was running
out.)
> Aha, this looks like exactly what WARP was made for. I hadn't really
> dug into that yet. Instead of merging each new file into your output
> with a separate FANINANY, you can merge the WARP into it with just one
> FANINANY, and then connect each new pipeline to the WARP.
>
> 'addpipe *.out: | f: faninany | *: / warp out | f:'
>
> 'addpipe literal +2 | delay | warp out'
> 'addpipe literal query | warp out'
>
Where do you find these things!? It's not in the Pipelines Reference,
nor in the Author's Edition. But it is described by PIPE AHELP WARP.
But it works (mostly)! Thanks!
The program:
WARPTEST REXX A1 V 133 Trunc=133 Size=11 Line=3 Col=1 Alt=0
* * * Top of File * * *
/* Rexx */ signal on novalue; /* =================================== */
trace C
'addpipe warp FOO | console'
'addpipe literal +1 | delay | warp FOO' /* ??? */
'callpipe literal +0.002 do other stuff for a while. | delay | console'
do K = 1 to 5
'addpipe literal +'6 - K' | delay | warp FOO'; end
/*=================================================================== */
* * * End of File * * *
Results in:
pipe warptest
4 *-* 'addpipe warp FOO | console'
>>> "addpipe warp FOO | console"
6 *-* 'addpipe literal +1 | delay | warp FOO' /* ??? */
>>> "addpipe literal +1 | delay | warp FOO"
8 *-* 'callpipe literal +0.002 do other stuff for a while. | delay |
console'
>>> "callpipe literal +0.002 do other stuff for a while. | delay |
console"
PIPWAR1365E Warp FOO not registered.
PIPMSG003I ... Issued from stage 3 of pipeline 1.
PIPMSG001I ... Running "warp FOO".
+0.002 do other stuff for a while.
10 *-* 'addpipe literal +'6 - K' | delay | warp FOO'
>>> "addpipe literal +5 | delay | warp FOO"
*-* 'addpipe literal +'6 - K' | delay | warp FOO'
>>> "addpipe literal +4 | delay | warp FOO"
*-* 'addpipe literal +'6 - K' | delay | warp FOO'
>>> "addpipe literal +3 | delay | warp FOO"
*-* 'addpipe literal +'6 - K' | delay | warp FOO'
>>> "addpipe literal +2 | delay | warp FOO"
*-* 'addpipe literal +'6 - K' | delay | warp FOO'
>>> "addpipe literal +1 | delay | warp FOO"
+1
+2
+3
+4
+5
Ready(01365); T=0.01/0.01 11:23:52
But why the PIPWAR1365E? (+0.001 isn't enough.)
And I'm intrigued by:
WARP pipehelp S1 V 80 Trunc=80 Size=81 Line=65 Col=1 Alt=0
! 1. "warp" does not implement function that cannot be implemented with multi-
! stream pipelines, proper connection of streams, "faninany", and, not
! least, sufficient stamina, but it is an easy way to gather data from a
! number of pipeline specifications.
How might I do this with other stages? I suppose I haven't sufficient stamina.
Thanks again,
gil