Paul --

What you say, viz:

"Misusing "default"
to describe the universal assignment can mislead the reader to
believe that the construct merely defines a value to be used
for members otherwise undefined."

is absolutely true, but I would hazard a guess, based on my own 20+ years of
rexx experience, that the vast majority of programmers only use, if they use
at it at all, the construction

x. = 'something'

at the top of their programs, and then never change it. 

Is calling that a "default" strictly accurate?  Of course not.  But in the
context of the original discussion, "does rexx support multi-dimensional
arrays?" I think that to describe it otherwise in a list of additional
features which might be of interest to a newcomer would be a severe case of
TMI.

BTW, Unless I've misunderstood your point, I'm not sure that your sample
program demonstrates the language feature we're discussing.  (x. = 'universal'
perhaps?)

i

------ Original Message ------
Received: Thu, 19 Mar 2009 06:55:22 AM COT
From: Paul Gilmartin <[email protected]>
To: [email protected]
Subject: Re: Multi-dimensional arrays in REXX

> On Thu, 19 Mar 2009 01:11:23 -0400, Gerhard Postpischil wrote:
> 
> >Ian S. Worthington wrote:
> >> I'm aware of the distinction, but have always felt that that's a fairly
> >> reasonable working definition of "default", at least up until a
reassignment.
> >
> >I suspect that he considers the language assignment of the
> >upper-cased variable name to be the default, hence the distinction?
> >
> While that's true, it's the lesser concern.  Misusing "default"
> to describe the universal assignment can mislead the reader to
> believe that the construct merely defines a value to be used
> for members otherwise undefined.  With this assumption, readers
> of the following program:
> 
> /* Rexx */ signal on novalue;  /*
>   Universal assignment is not a "default value".
> */
> trace R
> 
> X.42 = 'specific '
> say symbol( 'X.42' ) value( 'X.42' )
> 
> X.42 = 'universal'
> say symbol( 'X.42' ) value( 'X.42' )
> 
> drop X.42
> say symbol( 'X.42' ) value( 'X.42' )
> 
> .. may expect incorrect results from the second and/or third
> "say" instructions.  This is more likely for readers with
> some programming experience, who are likely to make incorrect
> and oversimplified assumptions about the implementation
> mechanism.  Even IBM developers have fallen victim: at one
> point an attempt to optimize storage management caused Rexx
> to give incorrect results for the third "say" instruction.
> This appears to have been repaired by APAR.
> 
> --gil
> 
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to [email protected] with the message: GET IBM-MAIN INFO
> Search the archives at http://bama.ua.edu/archives/ibm-main.html
> 

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to