On 02/14/2011 11:29 AM, Paul Gilmartin wrote:
>  'callpipe var dataline | append *.input: | *.output:'

Think for a second about the context of *.input: here.  It's being used
in a pipeline added by APPEND, so it refers to APPEND's input, not the
input of your stage that issued the CALLPIPE.  It will never find
anything to append, because it's already read the entire input stream.
If the output varies, that's only because the contents of DATALINE vary.

You want it the other way around:

  'callpipe *: | preface var dataline | *:'

Or, using FANIN:

  'callpipe (end /)  var dataline | a: fanin | *: / *: | a:'

Unless you're doing something with the value of DATALINE inside that
called pipeline, though, using VAR makes this slightly more costly, not
less, since it adds the overhead of the EXECCOMM interface.  And do you
need to wait for the added pipeline to complete before this stage does
something else?  If not, the SHORT subcommand would save the tiny extra
overhead of parsing and setting up the new pipeline:

  'output' dataline
  'short'

¬R

Reply via email to