From owner-sc22wg5@dkuug.dk  Wed Dec 17 14:44:31 2003
Received: (from majordom@localhost)
	by dkuug.dk (8.12.10/8.9.2) id hBHDiVx0085081
	for sc22wg5-domo; Wed, 17 Dec 2003 14:44:31 +0100 (CET)
	(envelope-from owner-sc22wg5@dkuug.dk)
X-Authentication-Warning: ptah.dkuug.dk: majordom set sender to owner-sc22wg5@dkuug.dk using -f
Received: from dwalin.rl.ac.uk (dwalin.rl.ac.uk [130.246.135.131])
	by dkuug.dk (8.12.10/8.9.2) with ESMTP id hBHDiOEt085076
	for <sc22wg5@dkuug.dk>; Wed, 17 Dec 2003 14:44:25 +0100 (CET)
	(envelope-from j.k.reid@rl.ac.uk)
X-RAL-MFrom: <j.k.reid@rl.ac.uk>
X-RAL-Connect: <jkr.cse.rl.ac.uk [130.246.9.202]>
Received: from jkr.cse.rl.ac.uk (jkr.cse.rl.ac.uk [130.246.9.202])
	by dwalin.rl.ac.uk (8.12.8/8.12.8) with ESMTP id hBHDjGTI005502
	for <sc22wg5@dkuug.dk>; Wed, 17 Dec 2003 13:45:16 GMT
Received: from rl.ac.uk (localhost.localdomain [127.0.0.1])
	by jkr.cse.rl.ac.uk (8.12.8/8.12.8) with ESMTP id hBHDohkf008814
	for <sc22wg5@dkuug.dk>; Wed, 17 Dec 2003 13:50:43 GMT
Message-ID: <3FE05F33.40103@rl.ac.uk>
Date: Wed, 17 Dec 2003 13:50:43 +0000
From: John Reid <j.k.reid@rl.ac.uk>
Reply-To: j.k.reid@rl.ac.uk
Organization: Rutherford Appleton Laboratory
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.1) Gecko/20020823 Netscape/7.0
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: WG5 <sc22wg5@dkuug.dk>
Subject: Vote on TR
Content-Type: multipart/mixed;
 boundary="------------040706040205010603030200"
X-CCLRC-SPAM-report: -4.9 : BAYES_00
X-Scanned-By: MIMEDefang 2.35
X-Spam-Score: 0 () 
Sender: owner-sc22wg5@dkuug.dk
Precedence: bulk

This is a multi-part message in MIME format.
--------------040706040205010603030200
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit

WG5,

The vote is closed and everyone voted 'yes', which is really excellent. Here is 
today's version of N1582, which summarized the votes and the subgroup's 
responses. Van's latest additional comment was sent to me privately yesterday.

Van has been privately revising the TR itself, so this is virtually ready to go. 
I will put a version with change bars on the WG5 site as N1581. The version that 
goes to SC22 will be identical except for the change bars.

Please let me know at once if you see any problems in N1582. I plan to wrap this 
all up on Friday and send the TR to SC22 then.

Best wishes,

John.

--------------040706040205010603030200
Content-Type: text/plain;
 name="N1582.txt"
Content-Transfer-Encoding: 8bit
Content-Disposition: inline;
 filename="N1582.txt"

                                ISO/IEC JTC1/SC22/WG5 N1582 (17 Dec draft)

                         Result of the WG5 ballot on draft TR            

                                  John Reid
 

A WG5 ballot on the draft TR was held between November 19 and 
December 17 2003. The question was as follows:

...........................................................................

 Ballot on forwarding N1580 (J3/03-259r3) as the PDTR on Enhanced Module
 Facilities

              Deadline: 9 a.m. UK time on December 17th.


[Choose one of the following]


Yes


Yes, with the following comments


No, for the following reasons


Signed


............................................................................


All comments were considered by the subgroup consisting of me, Bill Long, 
and Van Snyder. Here are the ballots with the responses of this subgroup. 
Appended is a list of all the edits that the subgroup recommended. 


1. Van Snyder

Of course, I vote yes, without comment, on the Modules TR.


2. Willi Schoenauer

I vote with yes


3. John Reid

Yes, with the following comments

Page ii, line -5. Change 'between' to 'of' and 'and' to 'upon'.
[Make it clear which way the dependence goes.]

Page iii, line 12. After 'affect' add 'the translation of'.

Page 6. Edits for 46:10, 46, 55, 58:8, and 84:3. In each of these
cases, I think it would be better if the comma were removed from the
start of the inserted text.

Page 8, lines 19-20. Move 'of a module subprogram' forward: On line 19,
add 'of a module subprogram or' before 'of' and on line 20, delete
', or of a module subprogram'.

Page 9, line 31. Replace '12.5.2.4' by '11.2.2' [This is where the term
is defined.]

Subgroup response: these 5 changes agreed.

Page 9, line 32. Change 'before' to 'before first' and remove ",22"
from "405:19,22".

Subgroup response: agreed with the first edit: change 'before' to 
     'before the first'

Page 9, lines 33-34. Replace the inserted text by 'A submodule
identifier of a submodule is a global identifier and shall not be the
same as the submodule identifier of any other submodule.'
[The present text is wrong. Two submodules may have the same parent.
In this case, the program will have two submodule identifiers that
are the same. See the words in the same paragraph of 007 for other
identifiers.]

Subgroup response: agreed. 

Page 9, line 35. Add 'After NOTE 16.2, add'

Page 11, line 9. Change 'subprogram' to '<separate-module-subprogram>
or a  <function-subprogram> or <subroutine-subprogram>'.

Subgroup response: these 2 changes agreed.

Page 11, line 38. Replace by 'the retranslation of program units that
access the module <color-points>.

Subgroup response: agreed, without 'the' at front of new text. 

Page 12, line 48. Add 'during translation' after 'dependence'.

Page 13, lines 2-3. Change to
    ! palette_stuff do not affect the
    ! translation of color_points

Subgroup response: these 2 changes agreed.

Page 15 line 13. Change 'it cannot affect' to 'the new values cannot be
accessed in the'.

Subgroup response: agreed, with the replacement of ', and' by a semicolon.


4. Bill Long

On the question of forwarding the submodules PDTR, I vote YES, with comments 
(attached).

Comments on N1580:[9:19-20] 

References of the form [x:y] refer the N1580.
References of the form 007:x:y refer the the FCD.

This set of comments incorporates suggestions from Van Snyder and John
Reid.


[2:22-23] We changed the syntax terms in [7:20] but failed to make the
	  corresponding change here. Change:
          <submodule-name> -> <parent-submodule-name> twice

[5:26] In 007:13:17 we have "Modules are further described in Section
       11."  I recommend a corresponding sentence at the end of the
       Submodule section.  As it stands, it looks a bit
       asymmetric. Add: "Submodules are further described in Section
       11."

[5:30+] The same edit in [5:31] made for 007:15:2 needs to be made 
        in 007:14:2 as well.
        
[6:26]  "or <separate-module-subprogram>" needs to be included in the
        list at 007:10:32+ as well. 

[8:19:20] C1242a could be misread to mean the you are not allowed to 
          put a MODULE prefix on the actual module subprogram. 
	  On [8:19], add "of a module subprogram or" before "of" and
	  on [8:20] delete ", or of a module subprogram".

Subgroup response: these 5 changes agreed.

[9:20+] At the end of the Note we need to add "or through a binding
        label" You can reference procedures with bind(c) clauses
        independent of their location in a module or submodule, and
        this can be done either from a C program or from Fortran.

Subgroup response: agreed with the addition of "means other than Fortran".

[9:32]  In the far right columns, remove ",22" from "405:19,22".

[9:34+] There is no instructional text that goes with the 406:1- edit. I
        think you want to add "[After Note 16.2 add:]

Subgroup response: these 2 changes agreed.

[10:18+] At the end of Note 16.18, we should replace "or by means other
         than Fortran" with "or through a binding label".

Subgroup response: agreed without the deletion of "by means other than Fortran".

[13:33] "color_points_a" -> "color_points:color_points_a". (We change the
        syntax but didn't fix the example.)

Subgroup response: agreed.


5. John Reid (additional comments)


[8:15+]  Add extra edit for 279:30+:

Subclause 12.5.2.1, after constraint C1237, add

C1237a (R1225) A <proc-language-binding-spec> shall not be specified for 
a procedure defined in a submodule unless its interface is defined in 
the ancestor module.

[As things stand, a user could write a submodule with a procedure that 
accesses private or protected data and invoke it via its binding label. 
We need to plug this hole in our data protection mechanisms. This change 
allows an f2003 module procedure to be split into parts, but does not 
allow the user to provide a new procedure and invoke it.]

Subgroup response: accepted, with the addition of this note:

<Note to WG5; not part of the TR:> Should the final version of Fortran 2003
define <proc-language-binding-spec> in such a way that the binding label is  
optional, this constraint should be altered to allow a 
<proc-language-binding-spec> that does not create a binding label for 
the procedure. Otherwise, WG5 should consider altering the rules for 
creating a binding label for a procedure defined in a submodule, relaxing 
the new constraint to correspond, and altering the text at [403:35-36].

[9:20] At end of paragraph add 
"A module procedure interface body shall not correspond to more than one
separate module procedure."
[This is needed to make the text at 9:17-20 work - there needs to be a 
one-one correspondence between a module procedure interface and its 
implementation.]

Subgroup response: agreed.

 
6. Michael Ingrassia

Yes.


7. Craig Dedo

Yes, with the following comments

[7:29] Change the syntax rule number from R1115e to R1115d; rule R1115e
doesn't exist.

Subgroup response: agreed.

[9:33-34] In the edit for 007:405:22 replace "The" by "A"; close the
quote. 

Subgroup response: superseded by another edit for the same lines. 


8. Van Snyder (additional comments)

Page ii, second line of third paragraph, remove "(ISO/IEC 1539-1:2004)".
This passage is referring to the next standard after that one.

Page 2, lines 20-21: Change the font of SUBMODULE and END SUBMODULE to
ordinary font.  The standard does not use "code font" except for actual
code examples.

Page 3, line 7: remove "or procedure body".  If the interface body is
accessible the procedure body is necessarily accessible, so there's no
need to say so.

Page 8, line 7: replace "interface" by "<<module procedure interface>>".

Page 8, line 12: remove the paragraph.

Subgroup response: these 5 changes agreed.

Page 9, after line 29:

[403:35] In the fourth line of the second paragraph of 15.4.1 on page 403,
replace ``not a dummy procedure'' by ``neither a dummy procedure nor a
procedure defined in a submodule that does not have an interface declared in
the ancestor module''.

[403:36] At the end of the last line of the second paragraph of 15.4.1 on
page 403, add a sentence ``Otherwise the procedure has no binding label.''

Subgroup response: not accepted. A <proc-language-binding-spec> always gives
rise to a binding label. However, an edit may be needed here if a different 
solution is chosen for the first of John Reid's additional comments in 
section 5 above. 


9. Rob James

Yes.


10. Alla Gorelik


Yes, with the following comment
 
I suggest to add some words about  “Enhanced Module Facilities”
(submodules) to the Introduction of ISO/IEC 1539-1:2004  where several
extensons to Fortran 95 are listed.

Subgroup response: This is a change that would be appropriate for the next
standard, in which we have promised to add these facilites. It is not
appropriate for Section 3 of the TR, which is intended only to define the 
facilites (see the leading paragraph). There is no plan to produce a 
version of ISO/IEC 1539-1:2004 other than the next standard that adds 
these facilites.


11. David Muxworthy

Yes

[Having read the N1582 draft of Dec 10 I have nothing further to add] 


12. Steve Morgan
 
Yes


13. Toon Moene
 
Yes


14. Richard Maine
 
Yes


15. Stan Whitlock
 
Yes


16. Malcolm Cohen
 
Yes


17. David Muxworthy for UK Fortran panel
 
Yes


18. Brian T. Smith

Yes


19. Van Snyder (additional comment)

At 9:19 and 10:25 in 03-259r3, replace "separate module procedure" by "subprogram".

Subgroup response: agreed.


..............................................................................

List of agreed edits

Page ii, second line of third paragraph, remove "(ISO/IEC 1539-1:2004)".

Page ii, line -5. Change 'between' to 'of' and 'and' to 'upon'.
[Make it clear which way the dependence goes.]

[iii:12]. After 'affect' add 'the translation of'.

[2:20-21].  Change the font of SUBMODULE and END SUBMODULE to ordinary font.  

[2:22-23]  Change <submodule-name> -> <parent-submodule-name> twice

[3:7]. Remove "or procedure body".  

[5:12+]  Add "or <separate-module-subprogram>" for 007:10:32+. 

[5:26]  Add: "Submodules are further described in Section 11."

[5:30+] The same edit in [5:31] made for 007:15:2 needs to be made 
        in 007:14:2 as well.
        
[6:4-16] Edits for 46:10, 46, 55, 58:8, and 84:3. In each of these
         cases, remove comma from the start of the inserted text.

[7:29] Change the syntax rule number from R1115e to R1115d.

[8:7] Replace "interface" by "<<module procedure interface>>".

[8:12] Remove the paragraph.

[8:15+]  Add extra edit for 279:30+:

Subclause 12.5.2.1, after constraint C1237, add

   C1237a (R1225) A <proc-language-binding-spec> shall not be specified for 
   a procedure defined in a submodule unless its interface is defined in 
   the ancestor module.
   <Note to WG5; not part of the TR:> Should the final version of Fortran 2003
   define <proc-language-binding-spec> in such a way that the binding label is 
   optional, this constraint should be altered to allow a 
   <proc-language-binding-spec> that does not create a binding label for 
   the procedure. Otherwise, WG5 should consider altering the rules for 
   creating a binding label for a procedure defined in a submodule, relaxing 
   the new constraint to correspond, and altering the text at [403:35-36].

[8:19:20] On line 19, add 'of a module subprogram or' before 'of' and on 
       line 20, delete ', or of a module subprogram'.

[9:19] Replace "separate module procedure" by "subprogram".

[9:20] At end of paragraph add 
   "A module procedure interface body shall not correspond to more than one
    separate module procedure."

[9:20+5] In the last line of the Note, delete "or" and add 
", a binding label, or means other than Fortran" at the end of the sentence.

[9:31]. Replace '12.5.2.4' by '11.2.2' 

[9:32]. Change 'before' to 'before the first' and remove ",22" from "405:19,22".

[9:33-34]. Replace the inserted text by 'A submodule identifier of a submodule
       is a global identifier and shall not be the same as the submodule
       identifier of any other submodule.'

[9:35] Add 'After Note 16.2, add:'

[10:18+] At the end of Note 16.18, before "or by means" add "a binding label,".

[10:25] Replace "separate module procedure" by "subprogram".

[11:9] Change 'subprogram' to '<separate-module-subprogram> or a  
       <function-subprogram> or <subroutine-subprogram>'.

[11:38] Replace by 'retranslation of program units that access the module 
       <color-points>.'

[12:48] Add 'during translation' after 'dependence'.

[13:2-3] Change to
    ! palette_stuff do not affect the 
    ! translation of color_points

[13:33] "color_points_a" -> "color_points:color_points_a". 

[15:13] Change 'it cannot affect' to 'the new values cannot be
     accessed in the' and replace', and' by a semicolon.



--------------040706040205010603030200--

