CVS difference for ai12s/ai12-0111-1.txt
--- ai12s/ai12-0111-1.txt 2020/12/04 07:59:28 1.23
+++ ai12s/ai12-0111-1.txt 2021/05/30 00:35:09 1.24
@@ -1,4 +1,4 @@
-!standard 5.5.1(8/3) 19-02-18 AI12-0111-1/11
+!standard 5.5.1(8/3) 21-05-28 AI12-0111-1/12
!standard 5.5.1(9/3)
!standard 5.5.1(10/3)
!standard 5.5.2(12/3)
@@ -31,9 +31,9 @@
!summary
Add a nested package Stable within each Container package, which
-provides a *stabilized view* of an underlying regular (unstable) container.
+provides a *stabilized view* of an underlying ordinary (unstable) container.
Such stable containers have no operations that change their shape, and
-the stabilization "lock" on the underlying regular container need only
+the stabilization "lock" on the underlying ordinary container need only
be set once when the view is created, and released when the view goes
away.
@@ -250,7 +250,7 @@
provides a type Stable.Vector that represents
a /stable/ vector, which is one that cannot grow and shrink. Such a
vector can be created by calling the To_Vector or Copy functions, or
- by establishing a /stabilized view/ of a regular Vector.
+ by establishing a /stabilized view/ of an ordinary Vector.
The subprograms of package Containers.Vectors that have a parameter
or result of type Vector are included in the nested package Stable
@@ -267,17 +267,17 @@
view since no such operations are included. Thus tampering checks are
not needed for a stable view.
- The operations of this package are equivalent to those for regular
+ The operations of this package are equivalent to those for ordinary
Vectors, except that no tampering checks are performed on stable
Vectors. If a stable
vector is declared with the Base discriminant designating a
- pre-existing regular vector, the stable vector represents a
- stabilized view of the underlying regular vector, and any operation
- on the stable vector is reflected on the underlying regular vector.
+ pre-existing ordinary vector, the stable vector represents a
+ stabilized view of the underlying ordinary vector, and any operation
+ on the stable vector is reflected on the underlying ordinary vector.
While a stabilized view exists, any operation that tampers with
elements performed on the underlying vector is prohibited. The
finalization of a stable vector that provides such a view removes
- this restriction on the underlying regular vector Redundant[(though
+ this restriction on the underlying ordinary vector Redundant[(though
some other restriction might exist due to other concurrent iterations
or stabilized views)].
@@ -373,7 +373,7 @@
provides a type Stable.List that represents
a /stable/ list, which is one that cannot grow and shrink. Such a
list can be created by calling the Copy functions, or
- by establishing a /stabilized view/ of a regular List.
+ by establishing a /stabilized view/ of an ordinary List.
The subprograms of package Containers.Doubly_Linked_Lists that have a
parameter or result of type List are included in the nested package Stable
@@ -390,17 +390,17 @@
not needed for a stable view. For this reason, the Generic_Sorting
generic is omitted completely.
- The operations of this package are equivalent to those for regular
+ The operations of this package are equivalent to those for ordinary
Doubly_Linked_Lists, except that no tampering checks are performed
on stable lists.
If a stable list is declared with the Base discriminant designating a
- pre-existing regular list, the stable list represents a
- stabilized view of the underlying regular list, and any operation
- on the stable list is reflected on the underlying regular list.
+ pre-existing ordinary list, the stable list represents a
+ stabilized view of the underlying ordinary list, and any operation
+ on the stable list is reflected on the underlying ordinary list.
While a stabilized view exists, any operation that tampers with
elements performed on the underlying list is prohibited. The
finalization of a stable list that provides such a view removes
- this restriction on the underlying regular list Redundant[(though
+ this restriction on the underlying ordinary list Redundant[(though
some other restriction might exist due to other concurrent iterations
or stabilized views)].
@@ -438,7 +438,7 @@
The nested package Stable provides a type Stable.Map that represents
a /stable/ map, which is one that cannot grow and shrink. Such a
map can be created by calling the Copy functions, or
- by establishing a /stabilized view/ of a regular Map.
+ by establishing a /stabilized view/ of an ordinary Map.
The subprograms of the map package that have a parameter
or result of type Map are included in the nested package Stable
@@ -455,17 +455,17 @@
view since no such operations are included. Thus tampering checks are
not needed for a stable view.
- The operations of this package are equivalent to those for regular
+ The operations of this package are equivalent to those for ordinary
Hashed_Maps, except that no tampering checks are performed on
stable maps. If a stable
map is declared with the Base discriminant designating a
- pre-existing regular map, the stable map represents a
- stabilized view of the underlying regular map, and any operation
- on the stable map is reflected on the underlying regular map.
+ pre-existing ordinary map, the stable map represents a
+ stabilized view of the underlying ordinary map, and any operation
+ on the stable map is reflected on the underlying ordinary map.
While a stabilized view exists, any operation that tampers with
elements performed on the underlying map is prohibited. The
finalization of a stable map that provides such a view removes
- this restriction on the underlying regular map Redundant[(though
+ this restriction on the underlying ordinary map Redundant[(though
some other restriction might exist due to other concurrent iterations
or stabilized views)].
@@ -609,7 +609,7 @@
The nested package Stable provides a type Stable.Set that represents
a /stable/ set, which is one that cannot grow and shrink. Such a
set can be created by calling the Copy functions, or
- by establishing a /stabilized view/ of a regular Set.
+ by establishing a /stabilized view/ of an ordinary Set.
The subprograms of package the set package that have a parameter
or result of type Set are included in the nested package Stable
@@ -630,17 +630,17 @@
view since no such operations are included. Thus tampering checks are
not needed for a stable view.
- The operations of this package are equivalent to those for regular
+ The operations of this package are equivalent to those for ordinary
maps, except that no tampering checks are performed on
stable sets. If a stable
set is declared with the Base discriminant designating a
- pre-existing regular set, the stable set represents a
- stabilized view of the underlying regular set, and any operation
- on the stable set is reflected on the underlying regular set.
+ pre-existing ordinary set, the stable set represents a
+ stabilized view of the underlying ordinary set, and any operation
+ on the stable set is reflected on the underlying ordinary set.
While a stabilized view exists, any operation that tampers with
elements performed on the underlying set is prohibited. The
finalization of a stable set that provides such a view removes
- this restriction on the underlying regular set Redundant[(though
+ this restriction on the underlying ordinary set Redundant[(though
some other restriction might exist due to other concurrent iterations
or stabilized views)].
@@ -793,7 +793,7 @@
The nested package Stable provides a type Stable.Tree that represents
a /stable/ tree, which is one that cannot grow and shrink. Such a
tree can be created by calling the Copy functions, or
- by establishing a /stabilized view/ of a regular Tree.
+ by establishing a /stabilized view/ of an ordinary Tree.
The subprograms of package Containers.Multiway_Trees that have a
parameter or result of type Tree are included in the nested package Stable
@@ -809,16 +809,16 @@
view since no such operations are included. Thus tampering checks are
not needed for a stable view.
- The operations of this package are equivalent to those for regular
+ The operations of this package are equivalent to those for ordinary
trees, except that no tampering checks are performed on
stable trees. If a stable tree is declared with the Base discriminant
- designating a pre-existing regular tree, the stable tree represents a
- stabilized view of the underlying regular tree, and any operation
- on the stable tree is reflected on the underlying regular tree.
+ designating a pre-existing ordinary tree, the stable tree represents a
+ stabilized view of the underlying ordinary tree, and any operation
+ on the stable tree is reflected on the underlying ordinary tree.
While a stabilized view exists, any operation that tampers with
elements performed on the underlying tree is prohibited. The
finalization of a stable tree that provides such a view removes
- this restriction on the underlying regular tree Redundant[(though
+ this restriction on the underlying ordinary tree Redundant[(though
some other restriction might exist due to other concurrent iterations
or stabilized views)].
@@ -5110,6 +5110,36 @@
or not it is considered tampering with elements. (But I think all forms
do tamper with elements.)
-
***************************************************************
+From WG 9 review #78.
+
+A.18.2(237.1/5):
+
+"...regular Vector". I guess this is OK but to elderly British ears the word
+regular is probably normally used only in conjunction with movements of the
+bowel. But it has crept into common or garden British English over the years
+so that what were once marked as Standard packets of Cornflakes are now marked
+as Regular. The existing RM 2012 (as opposed to AARM) only uses regular in
+one place in Appendix C. However, the new wonderful Stable Containers have
+inserted regular in lots of places. I suppose one might say ordinary or
+normal. But I assume regular is perfectly acceptable.
+
+---
+
+I asked Tucker Taft about this one, and he replied:
+
+Both "regular" and "normal" have additional meanings ("normal" means
+"perpendicular" in some contexts, and "regular" means to obey certain rules,
+such as "regular expressions"). So "ordinary" sounds good. We talk about
+"ordinary fixed point" so clearly we have used the term in other contexts in
+the RM to mean "plain vanilla," so "ordinary vectors" seems fine.
+
+---
+
+Since Tucker and I agree that "ordinary" would be better, I replaced "regular"
+with "ordinary" in these paragraphs (five sets). This was treated as an
+Editorial Review on AI12-0111-1. (Some the AI supporting text also was changed
+accordingly.)
+
+***************************************************************
Questions? Ask the ACAA Technical Agent