> I sometimes wish that Pipelines were closer to Rexx conventions (with
> a little POSIX wisdom added).  Newline would always be a STAGESEP,
> except that a trailing "," (as in Rexx)
CMS Pipelines never see a newline nor a trailing ,
REXX is in between what you code and PIPE; people sometimes seem to forget
that REXX interprets it first.
For example, if one codes:
   'PIPE Literal A',
        '| Console'
The PIPE command gets the following string as input "Literal A | Console"
no comma, no newline.


Kris Buelens,
     --- freelance z/VM consultant, Belgium ---
-----------------------------------------------------------------------

2016-09-29 18:56 GMT+02:00 Paul Gilmartin <paulgboul...@aim.com>:

> On 2016-09-29, at 00:49, Rob van der Heij wrote:
> >
> > To me this is much like the "if the compiler knows there should be a ';'
> > why can't he just put it there instead of bothering me" question.
> > The more you automatically assume, the less chance to spot mistakes.
> >
> Yup.  For a modern common-sense view:
>     http://trevorjim.com/postels-law-is-not-for-you/
>
> Rexx has a nice consistency in that semicolon and newline are nearly
> equivalent.  POSIX shell is irritating in that while a semicolon can
> (usally) be replaced by a newline, a newline can often not be replaced
> by a semicolon.
>
> I sometimes wish that Pipelines were closer to Rexx conventions (with
> a little POSIX wisdom added).  Newline would always be a STAGESEP,
> except that a trailing "," (as in Rexx) or a trailing "|" (as in POSIX)
> would indicate continuation.  (Oops, the latter would conflict with the
> usual portrait style.)  Stages such as APPEND that imbed pipelines?
> I need to think this through further.  But as an infrequent Pipelines
> user I have a shallow learning curve for Pipelines's rules for quoting,
> escaping, and alternate delimiters.
>
> And I wish I could use parentheses for grouping, but CMS has long ago
> preempted those.  Yet I wish I could write
>     ( A; B; C ) | D
> instead of a FANIN with three labeled input connectors tangie.  (OK.
> I'm a POSIX shell partisan.  But in POSIX shell I've resorted to
> convoluted descriptor mapping to achieve concurrent pipes where CMS
> Pipelines's labels would be a better approach.)
>
> > Some complain that CMS Pipelines is too compact already and a simple typo
> > causes grief. Even worse is when the simple typo makes the system do
> > something completely different. Hang in for horror stories about missing
> > a comma in a command on TSO.
> >
> Example?  I'm confident I've repressed several horrible memories.  And I
> have no understanding of CLIST.  I wrote a few under extreme duress and
> instantly converted to Rexx when it became avalable in TSO/E R2.
>
> The TSO/E Rexx Reference is dreadful in that it has too many examples
> and too little explanation of what metacharacters are interpreted by
> Rexx and which are passed on to the TSO TMP.  I'm glad I learned Rexx
> under CMS first.
>
> > I do recognize the situations where your suggestion could simplify the
> > pipeline. For such if/then/else constructs I sometimes use IF (mainly in
> > the limited space of the command line):
> >
> >  .. | a: if drop | sort | a: | ..
> >
> > But a lot of more complicated topologies will not be helped by this. One
> > of the challenges I think is to avoid adding things that only help a bit.
> > They make it easier to do some things, but make it harder to do get
> beyond
> > simple things.
>
> -- gil
>

Reply via email to