J3/09-102 To: J3 From: Malcolm Cohen Subject: Editor's report for production of 09-007 Date: 2009 January 09 1. Introduction --------------- This document describes briefly the changes made to the draft standard in producing 09-007, and details the editorial changes made to the passed papers and any technical problems encountered. 2. The papers ------------- a. Editorial and technical corrections from 08-019r1 (meeting 186); this combines the approved corrections from various passed papers at meetings 184 and 185 (see 08-019r1 for further details). b. Changes approved by WG5 resolution as listed in N1760; this includes the papers 08-147r1 08-290r2 08-154r1 08-296r2 08-158 08-297r1 08-162r2 08-299r1 08-165r1 08-300 08-166r1 08-301r1 08-178 08-303 08-181 08-304 08-214 08-308r1 08-281r2 08-309 c. Miscellaneous other J3 papers without WG5 authorisation; this includes 08-275r1 08-276 08-277r2 08-287r2 08-289r1 08-291r2 08-292r1 08-298r2 On examination, the editor believes these are all corrections or editorial changes rather than changes to the technical content. d. Unauthorised technical changes. 08-295 Actually, WG5 did approve this, but it was not put into N1760. Can I complain repeatedly about the quality of N1760? e. Format change (moving subclauses around) for ISO conformance, 08-306. Again, we discussed this and straw-voted it, but it didn't reach the resolutions. f. Purely editorial papers 08-278 08-285 08-286 09-101 (this should have been submitted at meeting 186). 3. Other changes ---------------- GLOBAL: Changed from A4 to Letter, turned line numbering back on. Fixed captioning of Table 2.1 when it went across a page boundary. Fixed indexing of "expression~initilization" on p149. Deleted spurious left brace at the end of CHAR (p335). Added reference to the "Vector subscript" subclause from the defined term. Fixed many spurious paragraph numbers. Fixed wording in 10.7.2.1 item (5) and 10.7.2.3.2p7. Added full stop to 10.7.5.2.2p6. 4. Comments on the edits ------------------------ These are in numerical order by paper number. 08-019r1: - Indexed new defined term "descendant" throughout the document. - [85:5.1p3+] On closer examination, this is out of place and ungrammatical. Deferred for later work. - [94:5.3.8.6] Indexed "named constant" throughout the document, not just here (which is what the edit said). - [109:5.7.1.1, C583] Added indefinite article. - [112:5.7.2.1, C597] Added indefinite article. - [124:C626] Also deleted redundant constraint C644 which said exactly the same thing for (using the same bad wording) for the deallocate statement. However, C626 already affects the deallocate statement because it is applied to R631 so fixes it wherever that is used. - [171:8.1.4 C806] Put "statement function" in obsolescent font. - [175:8.1.7.1p2] Also replaced in paragraph 5. - [277:12.4.3.2p7] Instructions incorrect - the words that were said to be at the end of the sentence were not. I moved them to the new place anyway. - [300:12.5.5.3p2] Added "is" i.e. "and is not ..." for "and not". - [300:12.5.5.3p5] Omitted "the name of", because it was incorrect. - [300:12.5.5.3p5+] Changed "by that name" to "by the name". (See other text around here to see why.) - [303:12.6.2.2] Indexed "result variable" throughout the document, not just here. - [335:13.7.34p3] Inserted the space, not a comma; this is a nested two-element list, not a 3-element list. - [459:A.2] Changed reference "(6.6.3.1)" to "(6.6.3)" which is the correct reference (that being "DEALLOCATE statement" whereas the other was just "Syntax"). Broke into two items and reworded - objects are not deallocated by "the occurrence of an event". 08-147r1: - [99: 5.3.18p1 C556] Merged with edit from 08-019r1 (08-265r1). 08-154r1: - [268:11.2.2p1] Cue repeat rant about giving the right instructions, not just "replace whole sentence". Anyway, for consistency with the preceding sentence I didn't delete the word "either". However, what's with the "indirect" access of an entity? This is hopelessly vague and indeed all-encompassing, which I doubt was the intention. Added UTI 151. 08-158: - This was included as part of 08-019r1. A pity we couldn't group the editorial corrections and pass them as a single paper. Oh wait, we did. Then why is this still here? 08-019r1 is a perfectly good response to the Canada comment that lead to 08-158, seeing as how it includes it! 08-162r2: - This was included as part of 08-019r1. 08-165r1: Done. 08-166r1: Done. Congratulations to the author of these edits for making two near-impenetrable paragraphs even more complicated. Does anyone else actually understand these? 08-178: Done. 08-181: - [308:12.7 C1280] Instead, - deleted "is a dummy argument of a pure function," - changed "INTENT (IN) of a pure subroutine" to "the INTENT (IN) attribute". Unless I am very much mistaken, this has the same effect and is much shorter and simpler. That is, instead of the requested "is a dummy argument of a pure function that does not have the VALUE attribute, is a dummy argument with INTENT (IN) of a pure subroutine," it now simply reads "is a dummy argument with the INTENT (IN) attribute,". 08-214: N1760 says "has been added" but this deletes a (mis)feature! 08-256r2: See 08-300. 08-275r1: Done. 08-276: Done. 08-277r2: - [175:8.1.7.1p2] Did not insert the extra comma. - [176:8.1.7.1p4] Added "(DO CONCURRENT)" after "". Did various other wordsmithing and typesetting things to that subclause in Annex C. Also a bit in Annex B. 08-278: I don't agree with the general rules stated in this paper, nor with the out-of-date style guide referred to (if Strunk turns up in person I'm willing to debate the matter with him, though). - 2.1.9: no, descriptive. - 2.1.12: (1) no, pronoun (2) also deleted "same". - 2.1.28: no, pronoun. - 2.1.55: no, pronoun. - 2.1.103: deleted instead. - 2.1.109: deleted instead. - 2.1.115: kept the comma. - 2.1.116.6: correct as is. - 2.1.116.12.1: no, pronoun. - 2.3.3.1p1: no, pronoun. - 2.3.5p2: correct as is. - 2.5.1.1p2: correct as is. - 4.5.3.1p4: correct as is. - 6.3p1: no, pronoun. - 6.5.4p2: correct as is. - 7.1.1p2: correct as is. - 7.1.5.2.1p5: correct as is (yes, the "of" is necessary). - 8.1.3.2p1 correct as is. - 8.1.4p1 ok. Rejected everything else as being correct as is, except for: - 14.11.2p7: rewrote from scratch since it was wrong anyway. Indexed "transformational function". Unindexed "intrinsic function!elemental" and "intrinsic function!transformational". 08-281r2 (part 3): - [346:13.7.60p5 EXTENDS_TYPE_OF, Result Value] Did not delete "otherwise", i.e. changed to "otherwise if ...". Hyperlinked "extensible" and "declared" to "extensible type" and "declared type". 08-285: - [415:14.11.25p3] Instead, changed all but one of the inquiry function argument descriptions for X to copy the wording from the intrinsic inquiry functions. 08-286: - ANSI have changed their document in 2007 so that its title is different, but it's still true that ISO 646 is the equivalent to the old document (a 1991 ISO standard certainly was not derived from the 2007 revision, even if that revision only changed the title). So I have left this one alone. Its title seems to be "ANSI INCITS 4-1986 (R2007)" anyway... - Made all references to ISO 10646 into undated references. Our use of UCS-4 seems ok to me. Also removed full stops from each normative reference - they are not supposed to be there (weird, eh?). Also modified wording of the various references to accord with the ISO guidelines. 08-289r1: - [3:1.5.4p3+] "SIGN intrinsic function"->"intrinsic function SIGN" for consistency. 08-290r2 - [32:2.4.5p3+] Unless I am very much mistaken, this defines a term, and imposes a requirement, in a note. This is not permitted. Added UTI 152. The added text is not quite grammatical. I did not try hard to reword it since it almost certainly needs more rewording on technical grounds. Included this in UTI 152. (Once the technical problems are clarified I will be in a position to assist rewording if that would be helpful.) - [36:2.5.7Note 2.18+] Changed "the image" to "that image". - [100:5.3.19p2] I find the added requirement difficult to understand; the exact extent of the requirement is unclear. Added UTI 153. - [190:p2-] Added comma after "image P" on the first line; used bullets not numbers for the first list; changed segment "Pi" to "\segment{i}{P}" i.e. P_i (P sub i), and "Qj" to Q_j similarly; changed "takes the following form" to "occurs when" (since no "form" is being described): this might be wrong, someone else should check(!); uncapitalised the first word of the list items in the second list; used bullets not numbers for the second list; changed "starts" to "begins"; singularised "actions" - only one is described; changed "affecting" to "regarding", twice (inquiring array bounds does not "affect" the object). I'm not quite sure I have a good handle on this, since it seems to me that this follows without the SYNC MEMORY (i.e. those are the defined semantics of the language). Presumably some other image is involved - I can see how that might change things. Maybe I should add Yet Another UTI, ... or maybe someone could tell me what I've missed? Without explanation I am quite likely to add a UTI next time around. - [309:C1279+] Changed "The designator for" to "A of", which is a bit closer to the text in the interp (only differs in the article, "A" vs. "The" - on further reflection I think "A" is correct). - [460:Annex A] Changed "user-defined synchronizations" to "cooperative synchronization" (that being what we called it in c08). 08-291r2: Done. 08-292r1: Done. I shortened several of these even more, and adjusted the column widths in Table 13.1 to improve the layout. I also redid some of the nearby typesetting because I noticed it was lacking. 08-296r2: - [254:10.7.5.2.2p3] Changed "G0.d" to "G0.". - [461:Annex A] Omitted the second and third definite articles. 08-295: Done. 08-297r1 - [188:p6] Deleted "intrinsic" between "atomic" and "subroutine", twice: it is redundant seeing as how that is part of the definition. - [191:Note 8.38] Replaced the first line with "these three lines" not "these two lines"; adjusted comment indentation to line up again; swapped arguments to ATOMIC_REF to match intrinsic. - [316:13.5p2] Added comma to end of line. - [317:Table 13.1] Added full stops to each description. Actually, these break rule 1 of brief descriptions: that they must be the same in the table as in the actual specification. Used editorial licence to *seriously* simplify these. - [327:After "13.7.11 ALLOCATED..."] No, I inserted these alphabetically instead. With the same brief description I used in the p317 edit. And massive rewording to try to get these consistent with other intrinsic procedures. Found a technical problem - UTI 154. Also, made "atomic subroutine" a defined (sub-)term (of "subroutine"). 08-298r2: - [95:5.3.10p2] The phrase appears twice, so I did this edit twice (once for nonpointer, once for pointer). 08-299r1: Done. 08-300 (incorporating 08-256r2): - [25] Deleted initial indefinite article; changed "defined in" to "from"; deleted final full stop; added forward reference to c06 (this might not be needed after other fixups). - [59] Changed "defined in" to "from". I note that if its parent type has an ultimate component of LOCK_TYPE then the new type will too. - [115] Not impressed by this way of structuring; lock variables could just as easily be done as a 6.3 instead of a 6.2.2 avoiding the grotty "6.2.1 General" heading. - [116] Singularised "6.2.2 Lock variables" since 6.2 is "Variable"; unemboldened "lock variable" in p1; changed "defined in" to "from"; "can" means capability - fine so far as it goes but was this meant to be an exhaustive list? - added UTI 155; the first added constraint is ambiguous - UTI 156; why is the variable defn context not a constraint - UTI 157; as far as I can tell the note is talking about something that doesn't exist - UTI 158; - [187:8.5.1p2] Why is this list not alphabetical? - [191] Appended full stop to constraint; fixed number consistency in lock variable value sentence; "acquired/released" terminology is confusing - UTI 159; changed "" to "specified lock variable", since it is not the syntax term that is being locked; next para: "a "->"a lock variable", "the "->"the lock variable" (twice), "value of the scalar logical variable"-> "variable specified by the ACQUIRED_LOCK= specifier" (twice). Sigh. Ok, I made lots more random changes to try to beat this into shape. Probably failed. Some things left undone noted as part of the aforementioned UTI 159. - [192:8.5.5p1+] The editing instructions were incomplete and the insertion is an indigestible lump. UTI 160. - [192:8.5.5p2] Alphabetised and rewrote statement. - [397:13.8.2.13+] Some wordsmithing done, but not enough. What about constants? UTI 161 (this overlaps somewhat with an earlier UTI). - [398:3.8.2.18+] Comment to editor: about half of these named constants are described as "named constant" and the other half as simply "constant". Can't we be consistent? - [398:3.8.2.19+] It asked me to add this three times, but I only did it once. With some rewording. - [454:16.6.5p1] Reworded. - [456:16.6.7p1] Reworded. Also added UTI 162 re ATOMIC_INT_KIND/ATOMIC_LOGICAL_KIND. 08-301r1: [285:12.5.1 C1229+] Inserted an indefinite article. 08-304: [c.460 Annex A] Added ref to 13.1 Classes of intrinsic procedures. 08-306: - Combined 1.2 and 1.3 into 1.1, - Modified Annex A to properly reference the new 1.1 instead of the old 1.3; - Moved 1.8 to be subclause 1.2. - Moved 2.1 to be subclause 1.3. - Moved 1.6 to be subclause 1.4, with the following changes. Deleted 1.6.1 except for the last sentence which I moved, modified, to 1.1 immediately after the "This standard specifies" paragraph. Deleted 1.6.2. The meanings of shall, NOTE, etc. are all prescribed by ISO, not by us. Renamed 1.6 to be "Notation, symbols and abbreviated terms" (probably won't get away with the "Notation" part but it's worth a try). - Moved 1.4 to be subclause 1.5. - I don't agree that 1.5 is not normative... so it is the new 1.6. - 1.7 remains 1.7. - Moved 2.2 to be subclause 2.1. I'm considering moving some of the clause 1 material here instead, but anyway... it cannot be moved to be clause 2 (as requested by 08-306) because what would than happen to 2.3 2.4 2.5 and 2.6? 08-308r1: De-indexed subcomponent (retaining hyperlinking) in c06. 08-309: Done. 09-101: Done. N1760 mentions "an editorial change to the specification of the intrinsic SIZE" without mentioning what paper if any this is supposed to be in. I am not impressed with the accuracy or readability of N1760, which has omitted many papers passed at the joint meeting for no apparent reason. As editor, I am supposed to do what the working group requests; it would be nice to have gotten clearer instructions! 5. Papers not processed, pending action items --------------------------------------------- Paper 08-217 was not approved at meeting 186; did this not form part of the US national ballot? Presumably not. Therefore I have not done any edit from that paper. DEFERRED: [85:5.1p3+] Append new paragraph at the end of the subclause: "Accessibility attributes apply to identifiers, not the entities they identify, and these attributes may be different in different scoping units. An entity may have the \attrx{ASYNCHRONOUS} or \attrx{VOLATILE} attributes in some scoping units and not have them in others." ***EDITOR: Reword to consistently use singular? COMMENT: An identifier *is* an entity (an entity is *anything*!). These comments, after fixing, belong in the relevant attribute subclauses; no-one would think to look in the introductory waffle to find this out. {08-226r4, m185} PENDING ACTION ITEMS: - "simply contiguous" should be a defined term; - "dummy argument" should be indexed; - index "declared type"? - should "unlimited polymorphic" be a defined term? indexed? - "segment" ***must*** be a defined term! - can't we just use always and get rid of the defined term? - index "rounding mode" properly. But first, we have two of them: should we clarify one or both? - Is type-bound procedure a defined term? If so, index it. - Most of the "tdef"s should be defined terms in 1.3; the others ought to be in normal (not bold) font; the witter about bold font meaning a defined term needs to be deleted. - Add j3.cls macros \defstmt and \refstmt (and \urefstmt?), and use them, similarly \defconstruct and \refconstruct. - Turn hyperlink colouring off... 09-007r1 or 09-007r2? ===END===