Version 1.2 of si99s/si99-0037-1.txt

Unformatted version of si99s/si99-0037-1.txt version 1.2
Other versions for file si99s/si99-0037-1.txt

!standard 1.3          08-06-13 SI99-0037-1/01
!class binding interpretation 08-06-13
!status work item 08-06-13
!status received 08-06-13
!priority Medium
!difficulty Easy
!qualifier Error
!subject Review std for problematic wording.
!summary
Scan the whole standard for places with problematic wording. .
!question
Should we correct existing but problematic wording in the standard? (yes.)
!recommendation
!wording
!discussion
Forword section:
Update ISO/IEC 15291 ?
Annexes A, B, C, D, and E of this International Standard are for information only. (Add annex F Obsolescent Features to this list?)
Introduction section:
ISO/IEC 8652:1995
[Editor's note: This is covered by SI99-0030-1; it suggests a global change to "the Ada Standard" with that term defined in 1.3.]
Section 1 and 1.2 and 1.3 and 2.1 and 2.1.1 and 2.3:
(same)
Section 2:
(make sure no example uses an obsolete feature, didn't notice any.)
Global:
Many chapters say "The library package Asis.XXX shall exist. The package shall provide interfaces equivalent to those described in the following subclauses." (Shouldn't this be stated in chapter 1 or 2 as which chapters are required and which are optional?)
[Editor's note: See Pascal Leroy's e-mail in the !appendix section.]
Section 3, introduction, Asis types are listed in word without the underscores in the source text. (arm_form problem) Occurs throughout the document.
Section 3 refers to ISO/IEC 8652:1995 repeatedly change to ISO/IEC 8652:1995(E)
Section 3 has several instances of "before before", remove one.
Section 3.8 lists items alphabetically with Elements and Element_List subtypes interspersed, Should these be rearranged to list them as Elements and Element_List subtypes separately.
Section 3.1 says:
The context clause contains zero or more with clauses, use clauses, pragma elaborates, and possibly other pragmas. (seems redundant to explicitly state elaborate)
3.9.22
Has A_Use_Package_Clause,
(What about A_Use_Subprogram_Clause, for functions or procedures?)
3.12.4 (middle of section) says:
For example: If A withs B and B withs C then A directly depends on A, B directly depends on C,
(shouldn't it be A depends on B)
Section 4:
(Of course it exists! It's the required next chapter.)
The package shall provide interfaces equivalent to those described in the following subclauses. (Why equivelent?)
10.13 says:
If the declaration of an argument Element is inconsistent with the argument, A_Nonexistent_Declaration shall be returned.
(For a unit A_Procedure_Body or A_Function_Body kind, the solution may be in any case, to return Nil_Compilation_Unit if the unit is of A_Public_Declaration_And_Body kind.)
(Why be different here?)
10.25 and 10.27
Returns the Form parameter (as for Text_Io.Open)
(rename to Ada.Text_Io.Open)
11.3
Returns a duration of 86_400.0 if the CPU duration for the last compilation is greater than 1 day. (Is this effectively duration'last)
12.1
If a leftmost units is consistent (typo)
Near end of chapter, formating problem, smaller font used.
12.2
No description of this constant in the section. (shouldn't it say something)
13.1
Gateway queries between Compilation_Units and Elements. (shouldn't this say: "This provides a gateway...")
13.3
All pragma Elaborate elements for this unit will appear in this list. Other pragmas will appear in this list, or in the Compilation_Pragmas list, or both.
(seems as though it should be one or the other)
13.6
Compilation_Unit expects any kind of element.
(should say Element)
15.3
(Why does this exist? Why not return the number?)
15.8 15.9
(one of the posible returns= values is not_a_definition, so should this raise an excpetion for a wrong inout value?
15.25 (remove exception statement, returns false for any un expected element)
15.27, 15.28, 15.29, 15.32, 15.36, 15.47, 16.4, 16.13, 16.14, 16.18.1, 16.21, 16.22, 16.30, 16.31, 16.33, 16.34, 18.2, 18.3, 18.7, 18.8, 18.11,
(remove value type nesting in return statement? The lowest level is sufficient.)
17.8 Says:
Reference expects an element that has one of the following Element_Kinds: An_Expression Raises ASIS_Inappropriate_Element with a Status of Value_Error for any element that does not have one of these expected kinds. Reference expects an element that has one of the following Expression_Kinds: An_Identifier An_Operator_Symbol A_Character_Literal An_Enumeration_Literal
(remove the first "expects" as redundant)
19.1 (3.9.22)
Clause expects an element that has one of the following Element_Kinds: A_Use_Package_Clause A_Use_Type_Clause A_With_Clause
(The is no A_Use_Subprogram_Clause (procedure or function) specified in 3.9.22 and thus not listed here?)
20.13 - 20.17
(Should it say when it returns False?)
20.28
(Does not state what happens if the Line Is_Nil?)
21.1
Should specify that it defaults to Nil_Id
21.2
(should state result if Nil_Id?)
21.2-21.4
(ok if defaults to Nil_Id, if not then need raise appropriate exception for these)
21.8
(add results for Nil_Id to last PP?)
21.9
(specify results for Nil_Id)
22 (general subprograms)
(Generally doesn't specify the result of a Nil element input)
STOPPED AT Annex B -------------------
!appendix

From: Pascal Leroy
Sent: Monday, June 16, 2008, 2:43 AM

> Global:
>
> Many chapters say "The library package Asis.XXX shall exist. The package shall
> provide interfaces equivalent to those described in the following subclauses."
>
> Section 4:
>
> (Of course it exists! It's the required next chapter.)
>
>The package shall provide interfaces equivalent to those described in the
> following subclauses. (Why equivelent?)

Beware, the weird wording "shall exist, shall provide equivalent" was very
carefully worded by WG9, to address copyright concerns. See WG9 document N468.
It should not be changed lightly as part of an editorial cleanup, lest you run
into problems down the road.
 
> For example:
> If A withs B and B withs C

I am hoping that we won't be using the verb "to with" in normative text.


****************************************************************


Questions? Ask the ACAA Technical Agent