CVS difference for ai05s/ai05-0245-1.txt
--- ai05s/ai05-0245-1.txt 2012/01/03 23:35:19 1.7
+++ ai05s/ai05-0245-1.txt 2012/01/27 23:23:11 1.8
@@ -1,4 +1,6 @@
-!standard 0.2(57.11/2) 12-01-03 AI05-0245-1/06
+!standard 0.2(3/2) 12-01-21 AI05-0245-1/07
+!standard 0.2(3.1/2)
+!standard 0.2(57.11/2)
!class Amendment 11-03-10
!status Amendment 2012 11-03-10
!status ARG Approved 8-0-0 11-04-07
@@ -18,11 +20,17 @@
!proposal
-Task John Barnes with writing a nice introduction - his effort can be found
-in the !wording section.
+(See wording.)
!wording
+Replace Introduction (3/2, 3.1/2) with:
+
+ * Ada 2012 Rationale. This gives an introduction to the changes and
+ new features in Ada 2012, and explains the rationale behind them.
+ Programmers should read this rationale before reading this Standard
+ in depth. Rationales for Ada 83, Ada 95, and Ada 2005 are also available.
+
Add after Introduction (57.11/2):
In addition, this third edition makes enhancements to address two important issues,
@@ -53,7 +61,7 @@
clauses 4.5.7, 4.5.8, and 6.8. Membership tests are also made more flexible.
See clauses 4.4 and 4.5.2.
-* A number of changes are made to parameters. Functions may now have
+* A number of changes are made to subprogram parameters. Functions may now have
parameters of all modes. In order to mitigate consequent (and indeed
existing) problems of inadvertent order dependence, rules are introduced to
reduce aliasing. A parameter may now be explicitly marked as aliased and
@@ -80,7 +88,8 @@
* Finally, features are added primarily to ease the use of containers,
such as the ability to iterate over all elements in a container without
having to encode the iteration. These can also be used for iteration over
-arrays. See clauses 4.1.5, 4.1.6, 5.5.1, and 5.5.2.
+arrays, and within quantified expressions. See clauses 4.1.5, 4.1.6, 5.5.1,
+and 5.5.2.
!discussion
@@ -89,6 +98,25 @@
features, and everything else is still true since we have been careful to
keep compatibility.
+!corrigendum 0.2(3/2)
+
+@drepl
+@xbullet<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.>
+@dby
+@xbullet<Ada 2012 Rationale. This gives an introduction to the changes and
+new features in Ada 2012, and explains the rationale behind them.
+Programmers should read this rationale before reading this Standard
+in depth. Rationales for Ada 83, Ada 95, and Ada 2005 are also available.>
+
+!corrigendum 0.2(3.1/2)
+
+@ddel
+@xbullet<Ada 2005 Rationale. This gives an introduction to the changes and new 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.>
+
!corrigendum 0.2(57.11/2)
@dinsa
@@ -125,8 +153,8 @@
clauses 4.5.7, 4.5.8, and 6.8. Membership tests are also made more flexible.
See clauses 4.4 and 4.5.2.>
-@xbullet<A number of changes are made to parameters. Functions may now have
-parameters of all modes. In order to mitigate consequent (and indeed
+@xbullet<A number of changes are made to subprogram parameters. Functions
+may now have parameters of all modes. In order to mitigate consequent (and indeed
existing) problems of inadvertent order dependence, rules are introduced to
reduce aliasing. A parameter may now be explicitly marked as aliased and
the type of a parameter may be incomplete in certain circumstances. See
@@ -152,7 +180,8 @@
@xbullet<Finally, certain features are added primarily to ease the use of
containers, such as the ability to iterate over all elements in a container
without having to encode the iteration. These can also be used for
-iteration over arrays. See clauses 4.1.5, 4.1.6, 5.5.1, and 5.5.2.>
+iteration over arrays, and within quantified expressions. See
+clauses 4.1.5, 4.1.6, 5.5.1, and 5.5.2.>
!ACATS test
@@ -609,3 +638,109 @@
"and the type of a parameter my be incomplete in certain circumstances"
****************************************************************
+
+From: Edmond Schonberg
+Sent: Tuesday, January 17, 2012 12:45 PM
+
+[Part of his editorial review - Editor.]
+
+Introduction
+------------
+
+The list of other relevant Ada documents includes the Ada95 and the Ada 2995
+Rationales. John is polishing the Ada 2012 rationale. Shouldn't it be mentioned
+in the same list? It will certainly be ready by the time the RM is approved.
+
+57 17/s A number of changes are made to {subprogram} parameters.
+
+57 21/3 can also be used for iterations over arrays {, and within quantified
+expression}.
+
+71 9/.3 M. Heany (USA) also [requires] {deserves} a mention
+
+****************************************************************
+
+From: John Barnes
+Sent: Wednesday, January 18, 2012 4:45 AM
+
+>The list of other relevant Ada documents includes the Ada95 and the Ada
+>2995
+>Rationales. John is polishing the Ada 2012 rationale. Shouldn't it be
+>mentioned in the same list? It will certainly be ready by the time the
+>RM is approved.
+
+
+John is polishing? It is still being carved from the basic intro. I might get it
+all done by Christmas, but I am also grinding away at the Spark book.
+
+The next section (2: expressions) will be done by March.
+
+3: structure and visibility by June
+
+If the Spark book is done by then, I might be able to do two sections per journal
+issue thus
+
+4: tasking and 5: general by September
+
+6: library and 7: epilogue by December
+
+Just possible. Groan
+
+****************************************************************
+
+From: Edmond Schonberg
+Sent: Wednesday, January 18, 2012 7:51 AM
+
+I still think it should be mentioned. The RM will be read for the next 8 years, and
+the Ada 2012 rationale will accompany it for most of that time!
+
+****************************************************************
+
+From: Randy Brukardt
+Sent: Saturday, January 21, 2012 10:47 PM
+
+> Introduction
+> ------------
+>
+> The list of other relevant Ada documents includes the Ada95 and the
+> Ada 2995 Rationales. John is polishing the Ada 2012 rationale.
+> Shouldn't it be mentioned in the same list? It will certainly be ready
+> by the time the RM is approved.
+
+I left it out because it wasn't clear when or if it would exist. Two chapters is
+pretty skimpy, and those haven't been made publically available yet. But, presuming
+John sticks to his schedule, we should at least have something available by the time
+this goes to WG 9.
+
+So I went back and used Bob's previously proposed text for this bullet, which also
+removed the old Rationale bullets in favor of a quick mention at the end of the bullet.
+
+> 57 17/s A number of changes are made to {subprogram} parameters.
+
+OK.
+
+> 57 21/3 can also be used for iterations over arrays {, and within
+> quantified expression}.
+
+Trust you to get quantified expressions in there one more time. :-)
+
+> 71 9/.3 M. Heany (USA) also [requires] {deserves} a mention
+
+OK. Note to Matt: your name is spelled correctly in the Standard, obviously Ed
+didn't cut-and-paste the above.
+
+****************************************************************
+
+From: John Barnes
+Sent: Sunday, January 22, 2012 7:25 AM
+
+> I left it out because it wasn't clear when or if it would exist. Two
+> chapters is pretty skimpy, and those haven't been made publically available
+> yet. But, presuming John sticks to his schedule, we should at least have
+> something available by the time this goes to WG 9.
+
+I expect old John will stick to his schedule. He has written a good deal of
+the next instalment already (did it in Denver, during the meeting).
+
+****************************************************************
+
Questions? Ask the ACAA Technical Agent