> 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 >