CVS difference for ais/ai-00387.txt

Differences between 1.1 and version 1.2
Log of other versions for file ais/ai-00387.txt

--- ais/ai-00387.txt	2004/11/01 22:40:06	1.1
+++ ais/ai-00387.txt	2004/11/03 00:47:23	1.2
@@ -1,4 +1,5 @@
-!standard 0.3   (3)                                 04-10-31  AI95-00387/01
+!standard 0.3   (3)                                 04-11-02  AI95-00387/02
+!standard 0.3   (5)
 !standard 0.3   (6)
 !standard 0.3   (32)
 !standard 0.3   (34)
@@ -14,9 +15,9 @@
 !standard 0.3   (50)
 !standard 0.3   (51)
 !standard 0.3   (57)
-!class amendment
-!status work item
-!status received
+!class amendment 04-10-30
+!status work item 04-10-30
+!status received 04-10-30
 !priority High
 !difficulty Easy
 !subject Introduction to Amendment
@@ -38,14 +39,25 @@
 
 Replace 0(3) by
 
+   * Ada 95 Rationale. This gives an introduction to the new features of
+     Ada incorporated in the 1995 edition of this Standard, and explains
+     the rationale behind them. Programmers unfamiliar with Ada 95 should
+     read this first.
+
    * Ada 2005 Rationale. This give an introduction to the changes and new
-     features in Ada 2005 (compared with the 1995 standard), and explains the
-     rationale behind them. Programmers should read this first.
+     features in Ada 2005 (compared with the 1995 edition), and explains
+     the rationale behind them. Programmers should read this rationale
+     before reading this Standard in depth.
 
 Curiously the old version refers to "Rationale for the Ada Programming
 Language - 1995 edition". It was never called that to my mind. That was
 sort of the title for the Ada 83 rationale.
 
+Modify 0(5) thus
+
+   ...all of the text in [the RM95]{this International Standard} ...
+
+
 Modify 0(6) thus
 
    ...[This revision]{The 1995 revision} to the language was designed ...,
@@ -103,7 +115,7 @@
 then switched to sentences. And it needed changing to the past tense.)
 
    * Support for standard 8-Bit and 16-bit characters was added. See
-     Section 2, 3.5.2, 3.6.3, A.1, A.3, and A.4.
+     clauses 2.1, 3.5.2, 3.6.3, A.1, A.3, and A.4.
 
    * The type model was extended to include facilities for object-oriented
      programming with dynamic polymorphism. See the discussions of classes,
@@ -113,15 +125,15 @@
 
    * Access types were extended to allow an access value to designate a
      subprogram or an object declared by an object declaration as opposed to
-     just an object allocated on a heap.  See clause 3.10.
+     just an object allocated on a heap. See clause 3.10.
 
    * Efficient data-oriented synchronization was provided by the introduction
-     of protected types. See Section 9.
+     of protected types. See clause 9.4.
 
    * The library-level structure was extended to allow library units to be
-     organized into a hierarchy of parent and child units. See Section 10.
+     organized into a hierarchy of parent and child units. See clause 10.1.
 
-   * Additional support was added for interfacing to other languages.  See
+   * Additional support was added for interfacing to other languages. See
      Annex B.
 
    * The Specialized Needs Annexes were added to provide specific support
@@ -145,56 +157,58 @@
 
    * Support for program text is extended to cover the entire ISO/IEC
      10646:2003 repertoire. Execution support now includes the 32-bit character
-     set. see Section 2, 3.5, 3.6, A.1, A.3, and A.4.
+     set. See clauses 2.1, 3.5, 3.6, A.1, A.3, and A.4.
 
    * The object-oriented model has been improved by the addition of an
      interface facility which provides multiple inheritance and additional
      flexibility for type extensions. See clauses 3.4, 3.9, and 7.3. An
      alternative notation for calling operations more akin to that used in
-     other languages has also been added. See 4.1.
+     other languages has also been added. See clause 4.1.
 
    * Access types have been further extended to unify properties such as
-     the ability to access constants and to exclude null values. See 3.10.
-     Anonymous access types are now permitted more freely and anonymous
+     the ability to access constants and to exclude null values. See clause
+     3.10. Anonymous access types are now permitted more freely and anonymous
      access-to-subprogram subtypes are introduced to support "downward
-     closures". See 3.3, 3.6, 3.10, and 8.5.1.
+     closures". See clauses 3.3, 3.6, 3.10, and 8.5.1.
 
    * The control of structure and visibility has been enhanced to
      permit mutually dependent references between units and finer control
-     over access from the private part of a package.  See 3.10.1 and 10.1.2.
-     In addition limited types have been made more useful by the provision
-     of aggregates, constants and constructor functions. See 4.3.1, 6.5, and
-     7.5.
+     over access from the private part of a package. See clauses 3.10.1 and
+     10.1.2. In addition limited types have been made more useful by the
+     provision of aggregates, constants and constructor functions. See clauses
+     4.3.1, 6.5, and 7.5.
 
    * The predefined library has been extended to include better string
      handling, a major container library, file directory and name management,
-     and access to the execution environment. See A.4, A.16, A.17, and A.18.
+     and access to the execution environment. See clauses A.4, A.16, A.17,
+     and A.18.
 
    * Interfaces to other languages have been improved by the inclusion of
-     a pragma for C unions. See B.3.
+     a pragma for C unions. See clause B.3.
 
    * Two of the Specialized Needs Annexes have been considerably enhanced.
 
      * The Real-Time Systems Annex now includes: The Ravenscar profile for
        high-integrity systems, further dispatching policies such as Round Robin
        and Earliest Deadline First, and various timing mechanisms for the
-       control of CPU budgets etc. See D.2, D.13, D.14, and D.15.
+       control of CPU budgets etc. See clauses D.2, D.13, D.14, and D.15.
 
      * The Numerics Annex now includes support for real and complex vectors
        and matrices as previously defined in ISO/IEC 13813 plus further basic
-       operations for linear algebra. See G.3.
+       operations for linear algebra. See clause G.3.
 
    * Finally, the overall reliability of the language has been improved by
      a number of introductions. These include new syntax which detects
-     accidental overloading, and pragmas for making assertions and giving better
-     control over the suppression of checks. See 6.1, 11.4.2, and 11.5.
+     accidental overloading, as well as pragmas for making assertions and
+     giving better control over the suppression of checks. See clauses 6.1,
+     11.4.2, and 11.5.
 
 
 !discussion
 
 The overall description has not been changed very much (this reflects the
 fact that this amendment is really a super polish to Ada 95 rather than a
-rebuild). Apart from minor changes to the opening remarks, the changes are
+rebuild). Apart from minor changes to the opening remarks, the changes are:
 
    The mention of wide-wide characters and strings. This is perhaps
 unnecessary but the existing paragraphs lead one into doing that.

Questions? Ask the ACAA Technical Agent