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