On Thu, 19 Mar 2009 09:21:12 -0500, Paul Gilmartin 
<[email protected]> wrote:

>...
>The infrequency of use of a facility fails to justify the incorrect
>description.  Rather, it aggravates the astonishment factor when
>the programmer encounters the behavior, perhaps inadvertently.
>Suppose:
>
>    X. = 'something'
>    do I = 1 to 10; X.I = 'defined'; end
>    drop X.7
>    say  X.7
>
>The description in the manual is correct; describing it with
>the less specific term "default" might lead the programmer to
>expect the program to say "something" rather than "X.7", or
>at least to be uncertain.
>...

I agree, but I think the astonishment is aimed at the drop rather
than the stem assignment.  (At least MY astonishment is.)   That
behavior implies that the interpreter has to maintain both a list
of specifically assigned variables and a list of specifically dropped
variables (at least for stems that have been assigned).  I have no
idea how the interpreters actually support the behavior of stem 
initialization, but I'm quite sure they don't predefine and assign
every possible variable for the given stem.   They must, in fact,
treat the assigned value as a default to be used for each 
unassigned and undropped variable associated with the stem.

Including dropped variables in that behavior just adds work for the
interpreter.   

Collishaw books include a sample of this behavior so there is no
doubt he intended the language to work this way, but I am still
astonished.

Pat O'Keefe

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