CVS difference for ai12s/ai12-0178-1.txt

Differences between 1.2 and version 1.3
Log of other versions for file ai12s/ai12-0178-1.txt

--- ai12s/ai12-0178-1.txt	2015/11/18 01:23:01	1.2
+++ ai12s/ai12-0178-1.txt	2015/11/19 03:38:16	1.3
@@ -1,15 +1,24 @@
-!standard 4.1.3(17/2)                                    15-10-09  AI12-0178-1/01
+!standard 4.1.3(17/2)                                    15-11-18  AI12-0178-1/02
+!standard 4.3.2(13)
 !standard 4.3.3(45/2)
 !standard 4.5.2(37)
 !standard 9.11(8/2)
+!standard 10.1.2(29/2)
+!standard 11.2(12)
+!standard 11.4.3(5/2)
+!standard 11.4.3(6/2)
+!standard 12.1(22)
 !standard 12.3(24)
 !standard 12.7(19/2)
 !standard 12.7(21/2)
 !standard 13.5.1(27)
+!standard 13.11(41/3)
+!standard A.18.32(9/3)
 !standard B.4(124)
 !standard B.5(30/3)
 !standard C.3.2(28/3)
 !class presentation 15-10-09
+!status ARG Approved 7-0-1  15-10-16
 !status work item 15-10-09
 !status received 15-09-07
 !priority Low
@@ -35,9 +44,15 @@
 
     Pool(K).Write      --  an entry of the task Pool(K)       (see {9.1}[9.4])
 
+Modify 4.3.2(13):
+
+    (Expression with Left => {new Literal'(}1.2{)}, Right => {new Literal'(}3.4{)})
+    Addition'(Binop with null record)
+                -- presuming Binop is of type Binary_Operation
+
 Modify 4.3.3(45/2):
 
-    Buffer'(Size => 50, Pos => 1, Value => [String'(]'x', others => <>[)])  -- see 3.7
+    Buffer'(Size => 50, Pos => 1, Value => [String']('x', others => <>))  -- see 3.7
 
 [Note: We have to remove the qualification, as qualifying by an
 unconstrained string type does not provide an "applicable index constraint"
@@ -68,21 +83,43 @@
 [Note: This was identified in April 2011 (see !discussion of AI05-0248-1), but
 for some reason wasn't addressed. We do it now.]
 
-Modify 12.3(24):
+Modify 10.1.2(29/2): (just the modified part shown)
+
+   type Department is [private]{...};
+
+Modify 11.2(12): (just the modified part shown)
+
+   {Ada.Exceptions.}Exception_Message
+   
+Modify 11.4.3(5/2):
+
+      ...
+   {private
+      ...}
+   end File_System;
+
+Modify 11.4.3(6/2): (just the modified part shown)
 
-   function Square is new Squaring(Item => Matrix, "*" => Matrix_Product);
-   function Square is new Squaring(Matrix, Matrix_Product); -- same as previous    
+   package body File_System is
+      {...}
 
-*** Not sure how - no fix in the above ***
+[Editor's note: This will have to split this paragraph into 2 after ..., in
+order to be consistent with paragraphs 5 and 8.]
 
-This is illegal as Matrix (declared in 3.6) is an unconstrained type, and
-Squaring as declared requires a definite type.
+   [Note: This ... provides a place for File_Exists to be declared.]
 
-But I don't know any sensible fix here, because declaring a constrained
-matrix subtype alone doesn't work (then the operation would fail subtype
-conformance and be rejected), and declaring a (sub)type and operation seems
-like overkill as well as obscuring the actual point of the example.
+Modify 12.1(22):
 
+   generic
+      type Item {(<>)} is private;
+      with function "*"(U, V : Item) return Item is <>;
+   function Squaring(X : Item) return Item;
+
+Modify 12.3(24):
+
+   function Square{1} is new Squaring(Item => Matrix, "*" => Matrix_Product);
+   function Square{2} is new Squaring(Matrix, Matrix_Product); -- same as previous    
+
 Modify 12.7(19/2):
 
     {subtype Key_String is String(1..5);}
@@ -106,10 +143,21 @@
 [Note: We're insisting on a particular component size, so we have to declare
 that.]
 
+Modify 13.11(41/3):
+
+    Our_Pool : Mark_Release_Pool_Type (Pool_Size => 2000);
+    My_Mark : [MR_Pool.]Subpool_Handle; -- {As declared in}[See] 13.11.6
+
+Modify A.18.32(9/3): (just the modified part shown)
+
+    use [Adjacency_Lists, ]Node_Maps, Paths, Graphs;
+
+    [Note: This use is redundant with the one in A.18.32(4/3).]
+
 Modify B.4(124): (just the modified part shown)
 
-     Ada_Record.Name := {COBOL.}To_Ada(COBOL_Record.Name);
-     Ada_Record.SSN  := {COBOL.}To_Ada(COBOL_Record.SSN);
+    Ada_Record.Name := {COBOL.}To_Ada(COBOL_Record.Name);
+    Ada_Record.SSN  := {COBOL.}To_Ada(COBOL_Record.SSN);
 
 Modify B.5(30/3): (just the modified part shown)
 
@@ -132,20 +180,19 @@
 13.11
 
 This seems to have randomly selected just one of the places (Subpool_Handle)
-that use entities from MR_Pool to have an MR_Pool. prefix. 
+that use entities from "MR_Pool" to have an "MR_Pool." prefix. 
 
 [Editor: No. The type Mark_Release_Pool_Type and its operations are declared
 here. The "..." at paragraph 40 includes the declarations of the Mark and
 Release operations -- that's what 13.11(38/3) says (or at least meant). We're
-not using MR_Pool here (that would be an unacceptable forward reference,
+not using "MR_Pool" here (that would be an unacceptable forward reference),
 but rather a set of declarations like it.
 
 Maybe we could clarify that somehow, but I don't think there is any point
 in adding prefixes that would orphan the type declaration in 13.11(39/3).
-(There is also the question as to whether there should be any prefix in
-13.11(41/3) -- probably not.
+(There shouldn't be any prefix in 13.11(41/3).)
 
-If we really wanted this to use MR_Pool, we'd have to move the entire example
+If we really wanted this to use "MR_Pool", we'd have to move the entire example
 to 13.11.6, which seems to defeat the purpose.]
 
 ---------
@@ -170,32 +217,14 @@
 in the Standard.]
 
 ---------
-
-Examples that could be better
 
-[Editor: I did nothing with these, I only addressed the examples that were
-actually wrong. We should discuss whether to change any of these during the
-upcoming meeting.]
+Examples that could be better that we're not going to fix now
 
 3.6 A definition of type Error_Code would help.
-
-[Jeff missed: 3.8 A definition of type Month_Name would help. This was also
-pointed out in the !appendix of AI05-0248-1.]
-
-4.3.2
 
-(Expression with Left => 1.2, Right => 3.4);
+3.8 A definition of type Month_Name would help. This was also
+pointed out in the !appendix of AI05-0248-1.
 
-Assuming this is being assigned to something of type Binary_Operation (mentioned
-2 lines later), then this fails since Left and Right are of type Expr_Ptr.  We
-need something like:
-
-   Literal_A : aliased Literal := Literal'(Value => 1.2);
-   Literal_B : aliased Literal := Literal'(Value => 3.4);
-   Binop : Binary_Operation := (Expression with Left  => Literal_A'Access,
-                                                Right => Literal_B'Access);
-
-
 4.6
 
 I think the last examples could do with a bit of context, e.g.:
@@ -208,31 +237,6 @@
 Pedantically the examples of function calls are function calls, but it would be
 more useful to have LHS := before and ; after.  If we are going to be pedantic,
 then the examples of procedure calls are actually procedure call statements.
-
-10.1.2
-
-In Office.Departments, I'd like a completion for Department, even if only ...,
-(as done for the other child packages of Office).
-
-11.2
-
-A with and use of Ada.Exceptions would help.  (Examples don't have to be entire,
-but this chapter is specifically about Exceptions, and 11.4.1 is mentioned in a
-comment, so Ada.Exceptions is something that we're wanting to draw the reader's
-attention to).
-
-11.4.3
-
-Seems a bit more incomplete than normal, even for just an example.  I'd like a
-declaration of Data_Type and completion of File_Handle in the spec of
-File_System, a declaration of function File_Exists in the body, and procedure
-Close in both, even if all are ..., and Verbosity_Desired : Boolean; in main.
-
-
-A.18.32
-
-Not an error, but the "use Adjacency_Lists" in the body is redundant because
-itís already in the spec.
 
 
 !ASIS

Questions? Ask the ACAA Technical Agent