J3/03-226r1 Date: 19 August 2003 To: J3 From: Dick Hendrickson Subject: The draft standard can still be improved Re: WG5/N1570 ISO/IEC JTC1/SC22/WG5 N1570 From: Malcolm Cohen Subject: The draft standard can still be improved. Subgroup recommends that these changes be considered. 1. Miscellaneous (a) Note 4.9 seems out of date and inappropriate now that we have the IEEE modules. When it says "this standard" it really means "this standard and the preceding one". [38:Note 4.9] Delete. (b) Apparently "CHARACTER*" syntax is "an unnecessary redundancy". As opposed to all the redundant features that are necessary I suppose. Please fix this tautology. Also, use of the past tense is incorrect. [441:22] "was an unnecessary redundancy" -> "is redundant". (c) C.10.1 item 5 claims that certain intrinsic functions like GET_COMMAND "function correctly, even if the main program is defined by means other than Fortran". This appears to be unsupported by any normative text, and very difficult if not impossible to implement on many systems to boot. It also refers to these as "command line environment intrinsic routines", which is not their title (they are "system environment procedures" in Ch13). The only procedure listed in C.10.1 item 5 which could reasonably be expected to work in all circumstances is GET_ENVIRONMENT_VARIABLE. As a result, the sentence has no meaning and should be removed. Delete [486:28-30] (d) The last sentence of C.11.1 uses the wrong tense with "shall", making the sentence somewhat confusing (it is referring to an invalid example - which did not satisfy the requirement - making the imperative form inappropriate). It should use the passive form. [493:2] "shall" -> "is required to". 2. Subclause 5.1.2.5 is self-contradictory and hard to understand The problems here are that: (1) Sentences 2 and 3 describe what is intended to be the same effect (overriding a DIMENSION attr-spec with an array-spec in the entity-decl), but use different words and are not consistent: sentence 2 says that the array-spec defines the "rank or shape" whereas sentence 3 says that it defines the "rank or rank and shape". (2) Sentence 4 is a lie; it claims that one can only declare an array in a type declaration statement if you have a DIMENSION attr-spec or an array-spec. This is false because you can declare the array spec elsewhere but still declare other attributes of the entity in a type declaration stmt. (3) Sentence 1 is poorly phrased. It says that the DIMENSION attr specifies "entities that are arrays" whereas it actually specifies that entities *are* arrays. Not a big deal, but we might as well say it right. (We do it right, or at least better, in 5.1.2.1, 5.1.2.3, et al.) [78:3] "entities that are arrays" -> "that an entity is an array". {Say what we mean.} [78:3] "rank or shape" -> "rank or rank and shape". {Either we need to say it like this always, or just "rank or shape" will do everywhere. I think maybe we ought to say it like this always.} [78:5-6] Delete "An ... ." {This sentence is completely redundant except where it disagreed with sentence 2!} [78:6] Change "declare an array" to "specify that an entity is an array".