(j3.2006) [Third thoughts about DIM arguments]

Bill Long longb at cray.com
Mon Mar 15 09:31:05 EDT 2010



Malcolm Cohen wrote:
> Bill Long wrote:
>> It looks like we're consistent in having "omitted" mean "does not appear".
> 
> Since my post was precisely about the several occurrences which are not 
> consistent with that, this is an astonishing claim, and is rebutted by my post 
> which was:

I looked more closely, and did fine 2 cases in clause 13 (CSHIFT and 
EOSHIFT) where we use "omitted" to describe DIM arguments. Other DIM 
argument descriptions use different words.  Given that in the large 
number of cases in Clause 9 where "omitted" clearly means "does not 
appear", it might be preferable to use a different word in Clause 13. 
I think this convention for Clause 13 would be less subject to confusion:

Use "does not appear" or "appears" for textual cases.

Use "not present" or "present" for optional argument semantics cases.


Cheers,
Bill



> 
>>> However, in the context of optional dummy arguments, "omitted" absolutely has 
>>> to mean "not present".  It would be a serious violation of the design 
>>> principles of optional dummy arguments to draw a distinction between 
>>> textually not present and textually present but runtimely not present.  I 
>>> agree that "omitted" is a poor choice of word though since it is more often 
>>> used to mean "does not appear" syntactically.
> 
> This is an optional fundamental principle: presence of dummy arguments is 
> transitive.
> 
> The intrinsic functions in question describe the DIM argument as optional with 
> no prohibition against it the actual argument being an optional dummy argument. 
> That means it is permitted to pass an optional dummy argument to those 
> functions, and that passing an absent one is treated the same as it being 
> textually not present - because that is how optional dummy arguments work!
> 
> Cheers,

-- 
Bill Long                                           longb at cray.com
Fortran Technical Support    &                 voice: 651-605-9024
Bioinformatics Software Development            fax:   651-605-9142
Cray Inc./Cray Plaza, Suite 210/380 Jackson St./St. Paul, MN 55101




More information about the J3 mailing list