On Mon, 27 Aug 2012 19:25:07 -0400, John Gilmore wrote:
>
>Or again, consider the HLASM character set symbol of
>
>|&text     setc   ''
>
>After the execution of this set statement k'&text is zero;  The value
>of &text is a nul string, one of length zero; and such strings have
>many important uses.
> 
But its length attribute is nonzero.  In fact, IIRC, HLASM will never
create a symbol with length attribute of zero; I believe (without
trying it again) that

ANSWER   EQU   42,0

results in an assembler error.

(Too) many IBM utilities are hostile to nulls.  Linkage Editor, given empty
SYSLIN (used to) quietly do nothing and exit with RC=0.  Binder attempts
to generate an invalid load module (improper initialization) and exits
with an indication of serious error.

SMP/E will not accept "++ FUNCTION(GUBBINS) FILES(0) ..."; I must omit
the FILES option instead.

I have encountered both of these while attempting programmatically to
generate input to the respective utilities, and needed to recover by
treating the boundary condition as a special case, either bypassing
the invocation of Binder or omitting the SMP/E option.  I am unmoved
by any argument that either of these restrictions causes me to code in
such manner as to incur less overhead; silicon is cheaper than carbon.

>The Identification of the familiar with the logical and the unfamiliar
>with the illogical is not a helpful notion.
>
Doug Gwyn said it well:  "Unix was not designed to stop its users
from doing stupid things, as that would also stop them from doing
clever things."

In this respect, at least, z/OS should strive to be more like UNIX.

-- gil

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to