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

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

--- ai12s/ai12-0147-1.txt	2015/01/23 00:30:24	1.2
+++ ai12s/ai12-0147-1.txt	2015/01/30 05:23:10	1.3
@@ -1,5 +1,7 @@
-!standard 9.4(8/1)                                      15-01-21  AI05-0147-1/01
+!standard 9.4(8/1)                                      15-01-28  AI05-0147-1/02
 !class binding interpretation 15-01-21
+!status Corrigendum 2015 15-01-28
+!status ARG Approved 10-0-0  15-01-28
 !status work item 15-01-21
 !status received 15-01-21
 !priority Low
@@ -31,7 +33,7 @@
  protected_operation_item ::= subprogram_declaration
      | subprogram_body
 {    | null_procedure_declaration
-     | expression_function_declaration
+     | expression_function_declaration}
      | entry_body
      | aspect_clause
 
@@ -49,28 +51,35 @@
 
 Note that this not only allows expression functions and null procedures
 to be completions, but also to declare body-only expression functions
-and null procedures. The language already allows that, and while 
-a hidden null procedure doesn't seem useful, a hidden function can be used
-to encapsulate a complex barrier expression. There seems to be no reason
-to require a full body for such a function rather than allowing an expression
-function.
+and null procedures. The language already allows that for subprogram
+declarations, and while a hidden null procedure doesn't seem useful, a hidden
+function can be used to encapsulate a complex barrier expression. There seems
+to be no reason to require a full body for such a function rather than
+allowing an expression function.
 
 Note that we are *not* allowing expression functions or null procedures to
 be used in the specification of a protected type or object. These contexts
 do not currently allow any sort of body, and there may be implementation
-complications in allowing that. (We would need to change at least 9.4(5/1) to
-do so.)
-
-[Editor's question: Should we allow that? It would make some sense, especially
-for protected types that implement some interface and thus have to create
-implementations for routines that they don't need to provide much
-functionality. It probably wouldn't be hard to support (worst case, the
-body could logically appear in the protected_body), but it doesn't seem
-that necessary, either -- the specification of a protected_type is
-a very restricted place as to what can be written, so I don't think people
-are going to be too worried about an apparent inconsistency with package
-specifications - you can't have types or objects in the visible part of
-a protected type, either (and types are a significant problem in practice.)]
+complications in allowing that. That seems OK, as the specification of a
+protected_type is a very restricted place as to what can be written, so 
+the apparent inconsistency with package specifications is insignificant -
+you can't have types (anywhere) or objects (in the visible part) of a
+protected_type, either.)
+
+!corrigendum 9.4(8/1)
+
+@drepl
+@xcode<@fa<protected_operation_item ::= subprogram_declaration
+         | subprogram_body
+         | entry_body
+         | aspect_clause>>
+@dby
+@xcode<@fa<protected_operation_item ::= subprogram_declaration
+         | subprogram_body
+         | null_procedure_declaration
+         | expression_function_declaration
+         | entry_body
+         | aspect_clause>>
 
 !ASIS
 

Questions? Ask the ACAA Technical Agent