02-259r1 JOR Responses to 02-253 To: J3 From: Craig Dedo Date: August 14, 2002 Subject: JOR Responses to 02-253 Following are the responses of the JOR subgroup to the issues raised in 02-253, "Typos in the 007-R2 Draft". JoR agrees with the recommendations except as noted immediately AFTER the proposed change. xiii:10 Change "Derived type enhancements" to "Derived-type enhancements" 20:33 Insert a period after "italic n". JoR – No. Done in another paper. 31:21 Change "both the type and the particular" to "the type, type parameters, and the particular". Otherwise, it suggests that a value does not always have type parameters. (Cf. 33/15-17, and 34/7) 40:31 There is likely a double blank before "intrinsic". Remove one of them. 46:Note 4.21 Change "requires it to" to "requires it" in line 8 Change "dim" to "dim" (program font) in line 16 94:Note 5.37 Indent "INTERFACE" 3 spaces to line up with "END INTERFACE" 108:Table 6.1 Last line of the row labeled 7, last column: change d6 to d5. (d6 appears as the last item in the previous line.) 139:Table 7.7 In the first "Numeric" row, change the asterisk to a double asterisk. 155:Note 7.56 Insert "strict" before "lower" and "upper" in the second line of the text of the note. 156:NOTE 7.57 cont'd Insert "NOTE 7.56" after "in" in the first line of the note. 157:6-8 Replace "Construct" with "construct" three times to make it consistent with lines 9-10. 163:22 Insert after "selector", the text "is a variable and". 163:24-25 Delete as they are the same as C808. JOR – NO. 166:NOTE 8.15. Change "assumed here" to "implied here". 177:8 Change "INQUIRE" to "an INQUIRE statement". 179:9 A better phrase than "an integer number" is "an integral number" or "a whole number" JoR – NO. 180:9-10 A clearer statement would be: "The initial value of a particular connection mode (9.4.1) is the value that would be implied by an initial OPEN statement without the corresponding keyword for the particular connection mode.". The problem I have is that there are several modes with keywords and which I was confused momentarily figuring out what corresponding keyword was being referenced. JoR – NO. 181:8 Insert "mode" after "scale factor". JoR – NO. 181:31-32 Replace "if a unit ..., the file is connected to the unit" with "the unit is connected to a file if and only if the file is connected to the unit.". [194:10+] In Note 9.34, fix the formatting of the continued comment beginning with the word "Allowed". Insert before the last line: "A (1) = 1 ; A (10) = 10". [195:6] Change "be pointers or allocatables" to "shall not have the POINTER or ALLOCATABLE attribute". [287:10] Delete the word "allocatables". 196:25 Replace "identifier" by "ID = specifier". [199:27] Change ", and the record is not incomplete" to "and the record is complete". 199:32 Change "and end-of-record" to "an end-of-record". 200:18 After "any", insert "appropriate". [201:17,33] Insert "," after "FORMATTED)". [202:1,17] Insert "," after "FORMATTED)". 205:14 Insert the item counter "(2)" at the beginning of the line. JoR – NO. Already done in 02-239. 209:20 Change "read" to "READ". [212:39] Change "performs" to "is". JOR – NO. [213:3] Change "performs wait operations" to "is the wait operation". JOR – NO. 219:5 This is a definition; make the font of "a recursive input/output statement" bold face text. 227:7 The use of normal font for the letter a and f here is confusing. I would recommend program font or something else be used here and elsewhere the hex digits a through f are referenced. JoR – NO. [227:34] Delete the second "of". 228:7 After "field", insert ", excluding the exponent, ". JoR – NO. 231:29 Replace "for A input" with "for an A edit descriptor corresponding to an input item". [232:1] Replace "for A output" with "for an A edit descriptor corresponding to an output item". 232:26 Changed "rounding value" to "rounded value". [232:31+ – 233:1 ] Use mathematical minus symbol in column 2 of the table. [233:1] Change the - to a mathematical minus symbol. Change "blank." to "blank,". Change "Ee." to "Ee,". Change "positive." to "positive, and r is defined for each I/O rounding mode as follows:". [233:1+] The r in the second column of the table should be in italics. [239:2] Change the first "and" to ";". 247:13 Change "end-program-stmt" to italic font. [247:23] Change "program-unit" to "program unit" in text font. 248:25 After "SAVE attribute", insert "explicitly". I am not sure what is intended here. Because it is a constraint, it suggests the "shall" is a requirement that the SAVE attribute be specified in the module. However, it may have been intended that the component have the SAVE attribute implicitly like the use of DATA initialization in some contexts. If this is not the intent, then either make the change suggested or make it even less ambiguous by replacing "the object shall have the SAVE attribute" with "the object shall be specified in the module with the SAVE attribute". JoR – NO. [249:7] Change "(5.2.1)" to "PUBLIC statement (5.2.1)". 250:21 Insert "that" before "the entity". It makes it so much easier to read and parse. 256:20 Make this line italic (syntax) font. 256:24 Add a space before "If" 256:30 Fix the >, < symbols. JoR – NO. Done in 02-244r1. 257:20 Change "bodyname!interface body" to "interface-body" in italics. JoR – NO. Done in 02-244r1. 266:13 Insert "(" before 4.6.1.6). JoR – NO. Done in 02-244r1. [266:14] Insert a hyphen between "passed" and "object" as in line 13. 473:11 Change comma to semicolon. JoR – NO. Hyphenation: xiii:10 Change "derived type" to "derived-type". 83:Line 1 of NOTE 5.16 change "derived type" to "derived-type". xiii:21 Change "derived type" to derived-type". [57:21-22] Change "derived type specifiers" to "derived-type specifiers". [100:9-10] Change "derived type" to "derived-type". [200:16] Change "derived type" to "derived-type". [216:19-22] Change "derived type" to "derived-type" in four places. [233:15] Change "derived type" to "derived-type". [259:14] Change "derived type" to "derived-type". [400:7] Change "derived type" to "derived-type". If-then English statement: 77:17 Insert "," after "array". 81:37 Insert "," after "stmt". JOR – NO. Done in 02-238r1 81:39 Insert "," after "apply". JOR – NO. Done in 02-238r1 125:33 Insert "then" after ")" instead of "," to avoid confusion with the role of the other commas following in the sentence. 208:17 Insert "," after "access". [217:4] After "specifier", insert "then:". [217:16,35;218:9] Change "labelled" to "labeled". [217:22,41] After "occur", insert "then:". [218:13] After "defined", insert ":". 257:22 Insert a comma after "unit". 267:32 Insert after "subscript" the word "then:" 268:1 Insert after "subscript" the word "then:" Punctuation For Displayed Lists: [11:50] [13:9-13] No. JoR believes the lists are acceptable the way they are. No change is required. The Use of "only": 53:NOTE 4.41 Change "is only accessible" to "is accessible only". 59:NOTE 4.54 Change "only be specified" to "be specified only". 82:NOTE 5.14 Change "only be specified" to "be specified only". 134:3 Move "only" to after "evaluate". 232:NOTE 10.16 Change "only occur" to "occur only". 274:8,18 Change "only specific" to "specific only". 274:18 Move "only" to after "unit". 275:11 Delete "only". 355:NOTE 14.2:5 Change "only support" to "support only". 370:7+ Change "only have" to "have only". 424:11 Change "only comprised" to "comprised only". 441:9 Change "should only be used" to "can be used only". 451:3 Do not change anything. Other Technical Issues: [191:20,24,29] "Temporarily" normally means "time" like 5 minutes but is not defined anywhere. The intention is "during the data transfer". Let's get rid of all uses of temporarily and use the phrase "during the particular data transfer only". JOR response – No. "Temporarily" is defined in 9.4.1 in the context of I/O connection modes. Other Technical Issues To Think About: 146:6-7 Why is it not allowed to be an internal procedure? JOR response – For the same reason that internal procedures cannot be passed as actual arguments, we expect these kinds of procedures to have specialized calling sequences. 146:8 Why is it not allowed to be a user-defined elemental procedure? JOR response – We expect calling sequences to be different depending on whether the procedure is elemental or not. 185:7-8 The default of "UNFORMATTED" for stream access seems wrong to me. Most stream I/O I am aware of is formatted I/O. JOR response – Unformatted stream I/O consists of an arbitrary number of file storage units that is not required to have an internal record structure. Unformatted stream I/O bears little resemblance to unformatted non-stream I/O. 191:16 What is a "storage sequence affector"? It is not in the index and not in the glossary. JOR response – "Affector" is in the index. It is defined at 191:14. 195:13-14 Why is I/O restricted to default character internal files? JOR response – We need to discourage the mixing of different kinds of characters in the same internal file. There is no portable way to represent how to mix different character sets in an internal file. This is related to the restriction that internal files must be of default character kind. 201:31 Why is "iomsg" INTENT(INOUT)? Why is it not always OUT? JOR response – See 203:26-28. 201:35-44 Why no v_list argument? Page 203, lines 14-17 seems to say it is always or may be needed. JOR response – This is a routine for an unformatted read procedure. The v_list argument only applies to formatted I/O. 204:25 Why is asynchronous user-defined derived-type prohibited? JOR response – The implementors cannot figure out how to make these two features work together. 212:37-39 As is, this sentence does not make any sense. In line 39, change "performs" to "does not perform" or rewrite the sentence. JOR response – We changed "performs" to "is" in another paper. 213:1-4 This does not make sense either. NOTE 9.61 seems to try a justify what is said but I do not understand this. JOR response – We changed "performs" to "is" in another paper. 216:19-22 Why? This restriction does seem appropriate. JOR response – The length argument returned is useless, so there is no practical reason to support it. Different values in the derived type item can produce different length output. 222:6-8 As stated, this prevents WRITE(*,'(' // a(1) ')') i but I think it is trying to prohibit write(*,b(1)) i where b(1) is an incomplete format specification (because the writer assumes the format is completed in b(2)). JOR response – Make the following edit. ***** Richard Maine – Note the following edit ***** [222:6-7] Change "references" to "is" in two places. 224:17 Should "default" be inserted in front of "characters"? JOR response – No. This would prohibit reading and writing non-default characters. Annex C: Many parts seem to have not been updated since the last standard. Examples are C.8.2 and C.9.3. For example, in 455:33, independent compilation is not new in this standard. Comparisons to F77 instead of to F95 seem inappropriate. JOR response – No, we disagree. References 02-007r2, Fortran 2000 Draft [End of J3 / 02-259r1]