From owner-sc22wg5  Tue Jul 16 18:29:27 2002
Received: from nameserv.rl.ac.uk (nameserv.rl.ac.uk [130.246.135.129])
	by dkuug.dk (8.9.2/8.9.2) with ESMTP id SAA47126
	for <SC22WG5@dkuug.dk>; Tue, 16 Jul 2002 18:29:27 +0200 (CEST)
	(envelope-from jkr@jkr.cc.rl.ac.uk)
Received: from jkr.cc.rl.ac.uk (jkr.cc.rl.ac.uk [130.246.8.20])
	by nameserv.rl.ac.uk (8.8.8/8.8.8) with ESMTP id RAA08702
	for <SC22WG5@dkuug.dk>; Tue, 16 Jul 2002 17:29:57 +0100
Received: (from jkr@localhost)
	by jkr.cc.rl.ac.uk (8.8.8+Sun/8.8.8) id RAA01438
	for SC22WG5@dkuug.dk; Tue, 16 Jul 2002 17:33:37 +0100 (BST)
Date: Tue, 16 Jul 2002 17:33:37 +0100 (BST)
From: John Reid <jkr@rl.ac.uk>
Message-Id: <200207161633.RAA01438@jkr.cc.rl.ac.uk>
To: SC22WG5@dkuug.dk
Subject: Edits to the draft standard
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"

WG5,

I have started a serious read of the draft standard and am 
preparing three papers for J3:

Edits re interfacing with C
Major edits
Minor edits

I was going to send my current draft of my major-edits paper to J3
for comment, but if I send it to WG5 it gets to J3 anyway and this
is a joint meeting. 

Here it is. Comments please. I may well have goofed and if so would
like to know sooner rather than later.

Best wishes,

John. 


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


                                                              02-xxy
To: J3
From: John Reid
Subject: Major edits
Date: 16 July 2002

 

43:10-11. Change the constraint to 'Each bound in the
<explicit-shape-spec> shall be an initialization expression (7.1.7).
[This is the wording in Corrigendum 1 to F95. I believe that the
present wording will lead to an inconsistency with f95. See also C550
on p. 79.]

43:14-16. Change 'a specification ... thereof' to 'an initialization
expression'.  [See previous edit.]

44:25-28. Replace by

R442 generic-binding  is  GENERIC [, binding-attr-list ] :: #
                          # generic-spec [=> binding-list]
C446 (R442) The <binding-list> shall be a single binding
        that is <null-init> or a list of procedure names. 

[Generic bindings expand through inheritance (see 57:2-3). We
normally keep all the specifics of the parent except those that are
overridden. I see no point in specifying a single specific with 
<abstract-interface-name> when the binding is deferred (<null-init>). 
Also, I think it should be permitted to omit the binding list when
the parent's generic is required without change]. 

47:19-22. Delete paragraph. 
[It is wrong, since the first and second sentences are inconsistent for
sub-sub-components. It is also incomplete.  Why try this, given that
the concept has already been defined in the previous paragraph?]

50:4-5. Replace by

   The interface of a specific binding specified with <null-init> is
   that of <abstract-interface-name> if present or that of the parent
   type otherwise.  The interface of a specific binding specified with
   <procedure-name> is that of the procedure.

   The interface of a generic binding contains the interfaces of all
   the procedures in its binding-list>s and all those of the parent
   type that have the same <generic-spec> and are not overridden.

60:4. Change 'target' to '<data-target> or <proc-target>' and delete
the internal note. [Reasons are in the internal note.]

81:28. Start a new paragraph after 'pointer.' and change the sentence 
that follows to 'If a name that has the EXTERNAL attribute is the name 
of a dummy argument, it is a dummy procedure.' [This change is also 
needed for the sake of the sentence that follows.]

81:39. Delete. [This is very ambiguous. What does 'above' mean (how far 
up should I go)? What does 'it' refer to?]

164:11+. Replace the note by
   C810a (R822) The form <associate-name = selector> shall be used if
   <selector> is not a named variable.
[The text on page 165 does not work if there is no <associate-name> and
<selector> is not named. Also, I took a long time (unsuccessfully)
trying to understand exactly what the note meant.]

203:10-11. I do not understand '(or some portion thereof)'. The
circumstances when only a portion of the value is used need to be
explained. 

266:15-18. Delete sentence. [Looks like an early draft of the previous
sentence.]

411:34. Delete 'name'. [We need to cover variables that are 
subobjects.]

