09-101
To: J3
From: Malcolm Cohen
Subject: More editorial corrections to 08-007r2
Date: 2009 January 08
1. Introduction
---------------
This paper lists additional corrections, of an editorial or trivial
technical nature, to the draft CD N1723. My apologies for forgetting to
submit this at meeting 186.
2. The Problems
---------------
(i) Apparently NORM2(X,DIM=999) is allowed - the DIM argument description
differs from all the other reductions like PRODUCT, SUM, MAXVAL, ...
(ii) The BNF term does not correspond to the plain
term "specification statement" and is not used productively in any
way, serving only to confuse. (It is defined once and used exactly
once.)
(iii) Missing braces from C examples, probably due to changing from
verbatim to alltt for code examples.
(iv) Inconsistent semicolons in C examples. For example, a semicolon is
definitely always required to terminate a typedef statement, but we
omitted it. A C prototype can have the semi-colon omitted when it's
a formal parameter, but we have it in Note 15.22 (after omitting it
in Note 15.21). These are examples, so we should just include the
semicolon always (makes it look more natural).
(v) "may be X only in Y" does not require that X only be in Y, it permits
all of the Xs to be in Ys. The word we are looking for here is SHALL;
it is absolutely forbidden to use "may" to indicate a requirement!
3. Edits to 08-007r2 (N1723)
----------------------------
[26-27:2.2 R207,R212] "specification-stmt" -> "other-specification-stmt",
twice.
{Change term to avoid confusion with the general term "specification
statement".}
[57:4.4.5.4p1] Change "{0<=I "shall be"
{We are requiring, not permitting.}
[342:13.7.49p5] Replace the second sentence "It is ... precision." by
"DPROD(X,Y) should have the same value as DBLE(X)*DBLE(Y)."
{The existing text is not grammatical, too verbose, and unnecessarily
vague. "should" is the preferred ISO term for recommendation.}
[350:13.7.66p5] Do not begin a new paragraph here, this should be part of
paragraph 4. Put language keywords into upper case. Unindent.
{This example looks wildly different from our others; we ought to be
more consistent.}
[374:13.7.123 NORM2 p3] After "shall be an integer scalar" insert
"with a value in the range $1 \leq \text{DIM} \leq n$, where $n$ is the
\termi{rank} of X".
NOTE: "of ARRAY" assuming that change from 08-020r1/08-217 is done.
[432:15.3.4 Note 15.13] Reinstate missing braces, and
terminate typedef statement with a semicolon.
{a: Fix LaTeX error. b: Fix C error.}
[433:15.3.6 Note 15.17] Terminate C declaration with a semicolon.
{Consistent style.}
[434:15.3.7 Note 15.21] Terminate C prototype with a semicolon.
{Consistent style.}
[436:15.4.1 Note 15.23] Separate Fortran code and C code with a blank line,
Begin C code with comment line "/* Global variables. */",
Reinstate braces in the penultimate line.
{a: Fix LaTeX error. b: Improve style.}
[516:C.11.3p2,4,6,8] Indent code consistently, like we did in C.11.2.
{Fix weird-looking alignment.}
[516:C.11.3p4] Reinstate braces.
{a: Fix LaTeX error.}
===END===