(j3.2006) Vote on letter ballot on N1866

Van Snyder van.snyder
Mon Jul 11 16:12:06 EDT 2011


                                        ISO/IEC JTC1/SC22/WG5 N1867
                                                     
                     WG5 letter ballot on N1866

                      John Reid, 7 July 2011

This is the letter ballot that WG5 agreed to hold on the draft PDTR for 
further interoperability of Fortran with C. It has been constructed by 
the editor Bill Long following the recent WG5 meeting, see Resolution G7 
in N1861. He has documented the changes from N1854 in N1865.

Please answer the following question "Is N1866 ready for forwarding to SC22 
as the PDTR?" in one of these ways. 

3) No, for the following reasons.

There appears to be a conflict, or at least some ambiguity, concerning
type parameters.  On one hand, 2.1p2, 6.3p3, and 6.4p5 specify that
TYPE(*) dummy arguments assume their type and type parameters from the
effective argument.  On the other hand, 3.3p2 specifies that an
assumed-type dummy argument shall not correspond to an actual argument
that is of a derived type that has type parameters.  Does the assumption
of type parameters apply only to character length?  This should be made
more explicit.  Are kind type parameters actually a problem?

If there is not actually a problem with type parameters, or the problem is trivially addressed, my vote becomes

2) Yes, but I recommend the following changes. 

[1:26+2 Note 1.1]
Replace "an object" by "a Fortran object".

[4:4 2.2p3]
Should be a note.

[4:15+5 Note 2.3]
Replace "component" by "member".

[4:17-18 2.3p1]
This paragraph is unnecessary.  It could be a note before (or part of)
Note 2.4.

[7:12 3.3p1]
Replace "value" by "values".

[9:3 4.1p1]
Insert "subclause" before "4.2".

[12:13 5.3.3p1]
Insert "and kind" after "scalar of the character type"

[13:7+2 Note 5.3]
Insert a cross referece after "CFI_deallocate".

[16:5 5.3.5.1p4]
Replace "accessed" by "referenced".

[16:7 5.3.5.1p5]
Replace "this subclause" by "subclause 5.3.5" or "subclauses of
subclause 5.3.5".  There are no function definitions in subclause
5.3.5.1.

[16:11 5.3.5.1p6]
Insert "subclause" before "5.3".

[16:13 5.3.5.1p6]
Insert "subclause" before "5.3.4".

[16:14 5.3.5.1p6]
Insert "subclause" before "5.3.5".

[16:19 5.3.2p1]
Insert "C" before "address".

[16:26 5.3.2p3]
Insert "C" before "address".

[16:28 5.3.2p3]
Insert "C" before "address".

[16:31 5.3.2p5]
Insert "C" before "address".

[16:30+ 5.3.5.3p7+]
A note would be illuminating:
  "NOTE 5.6a
   This is equivalent to the Fortran statement
   ALLOCATE ( A(100,100), STAT=IND )
  "

[17:13 5.3.5.3p2]
Insert "and kind" after "scalar of the character type".

[18:10+ 5.3.5.4p7+]
A note would be illuminating:
  "NOTE 5.6a
   This is equivalent to the Fortran statement
   DEALLOCATE ( A, STAT=IND )
  "

[18:19 5.3.5.5p2]
Replace "base" by "C" or insert "C" before "base".

[18:28 5.3.5.5p2]
Insert "and kind" after "scalar of the character type"

[20:14 5.3.5.7p2]
Insert either "Fortran" or "C" before "subscripts" ([21:5] suggests "C").

[20:17 5.3.5.7p2]
Replace "be" by "not be less than" or "be greater than or equal to".

[20:18 5.3.5.7p2]
Insert either "Fortran" or "C" before "subscripts" ([21:5] suggests "C").

[20:21 5.3.5.7p2]
Replace "be" by "not be less than" or "be greater than or equal to".

[20:24 5.3.5.7p2]
Insert either "Fortran" or "C" before "subscripts" ([21:5] suggests "C").

[20:25 5.3.5.7p2]
Replace "be" by "not be less than" or "be greater than or equal to".

[21:24-25 p.3.5.8p2] Replace "base" by "C" or insert "C" before "base"
at least the first time, and maybe thrice.

[21:30 5.3.5.8p2]
Insert "and kind" after "scalar of the character type".

[22:14 5.3.5.9p1]
Insert "to" before "be".

[22:20 5.3.5.9p2]
Replace "in same" by "the same".

[22:23 5.3.5.9p2]
Insert "Fortran subscripts for the" or "C subscripts for the" before
"lower bounds".

[22:35 5.3.5.9p7]
Something other than "this" would be more illuminating.  Maybe "the same
array".

[22:41 5.3.6p1]
Is "calling" the correct term in the C context?  Maybe "invoking" would
be better.

[23:12 5.3.7p2]
Replace "a call to" by "an invocation of" or "reference to".

[23:14 5.3.7p2]
Replace "call" by "invocation" or "reference".  Using "call" in 5.3.7p3
is appropriate.

[31:32 6.10p1]
Delete "two".

[26:2 6.3p8]
Does this need a caveat concerning RANK, or does 1539-1:2010:1.6.1p1
cover it?

[26:15 6.4p5 C407b]
Replace "intrinsic and" by "intrinsic or".

[26:23 6.5p16]
Should be a note, since it doesn't exclusively apply to assumed-rank
entities.

[27:29 6.6p3]
Is "call" the correct C term?  Should it be "reference" or "invocation"?

[28:5-6 6.7p2]
It is also a characteristic that these rank, shape, size, type, or type
parameters are not assumed.  The sentence ought to be "Whether a rank,
shape, size, type, or type parameter is assumed or deferred is a
characteristic."

[28:11 6.7p6]
Insert "of" before "assumed type".

[29:10 6.8p14]
It is redundant to begin a note with "Note that".  Replace "Note that
if" by "If".

[29:30 6.8p29]
It is redundant to begin a note with "Note that".  Replace "Note that
if" by "If".

[30:11 6.8p39]
It is redundant to begin a note with "Note that".  Replace "Note that
if" by "If".





More information about the J3 mailing list