J3/10-125r1 To: J3/WG5 From: Malcolm Cohen Subject: Edits for ISO Secretariat comments Date: 2010 February 15 1. Introduction --------------- The ISO Secretariat comments are in paper N1788. One comment was also addressed by 10-114 but the edit in that paper was insufficient. Note that several ISO Secretariat comments had "etc." in the location. I think I have caught all the subclauses that are affected, but it is not impossible that I might have missed one or more. 2. Edits to 09-007r3 (aka WG5/N1791) ------------------------------------ [throughout] Change headers to "ISO/IEC 1539-1:2010 (E)", aligned right on odd pages and left on even pages. [throughout] Change odd-page-numbered footers to "ISO/IEC copyright (c) ISO/IEC 2010 (All rights reserved) pagenumber" and even-page-numbered footers to "pagenumber ISO/IEC copyright (c) ISO/IEC 2010 (All rights reserved)" where "(c)" is a copyright symbol and "pagenumber" is the page number. [3:9] 1.3.7 associating entity, "in ... association," -> "\termqual{in ... association}", where "\termqual{x}" expands to "$\langle$x$\rangle$". {Notes: $\langle$ is supposed to be a left angle bracket, not a < sign. Yes, I do mean to swallow the comma.} {NOTE TO EDITOR: Check for correct spacing using \termqual, if that is problematic use the expansion inplace.} [4:44] 1.3.19 C address, Delete semi-colon and turn everything after it into a proper sentence in a note. [5:3-8] 1.3.21 characteristics, Replace entire definition as follows: "\termqual{procedure} the properties listed in 12.3.1 \mterm{characteristics} \termqual{dummy argument} being ... indicator) \mterm{characteristics} \termqual{dummy data object} ... \mterm{characteristics} \termqual{dummy procedure or dummy procedure pointer} ... 12.3.2.3 \mterm{characteristics} \termqual{function result} ... 12.3.3" {Note: \mterm is a new macro for a multiply-defined term; it is nearly the same as \term but does not define a new hyperlink target.} [5:45] 1.3.29.3 subcomponent, "of a structure," -> "\termqual{of a structure}". [6:11] 1.3.31 conformable, replace with "of two data entities," -> "\termqual{of two data entities}", "shape, or" -> "shape or". [6:33] 1.3.36 contiguous, "of a multi-part data object," -> "\termqual{a multi-part data object}", replace "; of an array," with "\mterm{contiguous} \termqual{of an array}". {Note: the subterm "simply contiguous" is under the second definition.} [6:37] 1.3.36.1 simply contiguous, "of an array designator or variable," ->"\termqual{of an array designator or variable}". [7:21] 1.3.44 default-initialized, "of a subcomponent," -> "\termqual{subcomponent}". [7:28-30] 1.3.46 defined, Change "either ... data object, the" to "\termqual{data object}", Change "or, ... pointer, the" to " \mterm{defined} \termqual{pointer}". [8:3-5] 1.3.50 definition, replace entirely with "\termqual{derived type (4.5.2), enumeration (4.6), or procedure (12.6)} specification of the type, enumeration, or procedure \mterm{definition} \termqual{data object} process by which the data object becomes defined (16.6.5)". [8:8] 1.3.51 descendant, "of ... submodule," -> "\termqual{module or submodule}". [8:23-26] 1.3.53 disassociated, "either ... status of" -> "\termqual{pointer association} the pointer association status of", ", or ... status" -> " \mterm{disassociated} \termqual{pointer} having a pointer association status of disassociated". [10:17-19] 1.3.66 finalizable, "either ... of a type," -> "\termqual{type}", ", or ... entity," -> " \mterm{finalizable} \termqual{nonpointer data entity} of finalizable type". [10:31] 1.3.70 host instance, "of an ..., or of a ... procedure," -> "\termqual{..., or ... procedure"; this results in "\termqual{internal procedure, or dummy procedure or procedure pointer associated with an internal procedure}". [11:12] 1.3.78 inherit, "of an extended type," -> "\termqual{extended type}". [11:20] 1.3.80 interface, "of a procedure," -> "\termqual{procedure}", [12:3] 1.3.83 interoperable, "of a Fortran entity," -> "\termqual{Fortran entity}". [12:11] 1.3.84.1 standard intrinsic, "of a procedure or module," -> "\termqual{procedure or module}". [12:14] 1.3.84.2 nonstandard intrinsic, "of a procedure or module," -> "\termqual{procedure or module}". [13:22-23] 1.3.97 operator, replace with "\si{intrinsic-operator}, \si{defined-unary-op}, or \si{defined-binary-op} (R309, R703, R723)" OPTIONAL follow by a Note "Note 1.x An operator specifies a computation involving one data value (unary operator with prefix syntax) or two data values (binary operator with infix syntax)." {Personally I don't think we need the note.} [13:43] 1.3.101 polymorphic, "data entity" -> "\termqual{data entity}", Delete "declared with the CLASS keyword,". {Either the first part before the comma is the definition, in which case the second part after the comma is extra info which must be given in a note (or omitted), or vice versa. Since the reference goes straight to the syntax, I have chosen the "semantic" version of the definition.} [14:3] 1.3.102 preconnected, "of a file or unit," -> "\termqual{file or unit}". [15:33-36] 1.3.115 scoping unit, replace entirely with "derived-type definition, interface body, program unit, or subprogram, excluding all nested scoping units in it" {Sure, there is no syntax to nest anything in a derived-type definition, but that doesn't matter. We don't want this to be multiple separate definitions, and we do want the wording to be simple.} {Interacts with other papers; the result should be to insert "block construct," at the beginning of the definition.} [16:16] 1.3.120 size, "of an array," -> "\termqual{array}". [17:6] 1.3.128 storage unit, Delete "unit of storage; a". [18:43-44] 1.3.137.7 extension type, replace with "\termqual{of one type with respect to another} is the same type or is an extended type whose parent type is an extension type of the other type". {Previous version was easier to read than this, but did not have the correct form required for a term definition.} [19:12] 1.3.137.11 type compatible, Replace "of one entity with respect to another, compatibility of the types of the entities" with "compatibility of the type of one entity with respect to another". [19:16-17] 1.3.137.12 type parameter, Delete ", further ... available". {Useless waffle is forbidden in a term definition!} [19:20-23] 1.3.137.12.1 assumed type parameter, Replace "which is, ... dummy argument" with " Note 1.x The other entity is ... dummy argument.". {Turn the extra info into a note. We could just delete it, but that might be slightly unfriendly here.} [19:45-20:1] 1.3.139 undefined, "either ... object," -> "\termqual{data object}", "or ... pointer, the" -> " \mterm{undefined} \termqual{pointer}". [20:9] 1.3.141 unlimited polymorphic, Delete "declared with CLASS(*),". {Either the first part before the comma is the definition, in which case the second part after the comma is extra info which must be given in a note (or omitted), or vice versa. Since the reference goes straight to the syntax, I have chosen the "semantic" version of the definition.} [24:28-29] 1.6.4, first bullet point, replace entirely with "The result value of the intrinsic function SIGN when the second argument is negative real zero differs from that of Fortran 90." {Note: It would be false to say that this "is changed by this standard", since in fact it was Fortran 95 that changed it. I also changed "behavior" to "result value", since it is the result value that has changed, not some other aspect of the behavior like whether it raises IEEE_INVALID.} ALTERNATIVE [24:27-33] Change first "." to ":" and replace the list contents with "- the result value of the intrinsic function SIGN (when the second argument is a negative real zero); - formatted output of negative real values (when the output value is zero); - whether an expression is a constant expression (thus whether a variable is considered to be automatic)." {Line 27 already says these are differences between F90 and this F, why do we have to say it again in every list item?} [233:Note 9.58] 9.9 "FLUSH statement", after p4, "this standard" -> "this part of ISO/IEC 1539". {ISO-4: use name of standard instead of 'this standard'.} ===END===