Notes for the Language Maintenance Committee Meeting San Diego, CA 2/6/84 and 2/7/84 The meeting was held in San Diego. Present were John Goodenough, Ron Brender, Paul Cohen, Gerry Fisher, Paul Hilfinger, and Jean Ichbiah. Robert Dewar arrived after the meeting had started. Peter Belmont and Mike Woodger were absent. JAN Lee and John Barnes were present as observers on the first day; Larry Druffel, John Barnes, Ted Baker, and G. Ricciardi were observers the second day. At the end of the meeting, it was decided to call the Ada Issue Reports "Ada Commentaries". This terminology will be used in these notes. Commentaries were taken up in the following order. All votes are provisional pending certain changes to each commentary. -------------------------------------------------- AI-1/01 Are renamed static constants static? The issue and title should be reworded to discuss expressions and the use of names within expressions. Objects are not static, as the current wording suggests. After some discussion, the issue was crystalized as to whether the wording in 4.9(6) should be interpreted as "{A name denoting a} constant explicitly declared ..." or {a name} explicitly declared ...". With the first interpretation, a name declared by a renaming declaration can be used in a static expression if it denotes a constant having a static subtype and initialized with a static expression. The vote was: 4 in favor of "denote"; 2 against (i.e., in favor of the alternative interpretation. In essence, the vote supports the recommendation of AI-1/01, although the recommendation needs to be reworded. -------------------------------------------------- AI-19/02 Checking for incorrect numbers of elements in positional aggregates The recommendation was accepted: 6-0-0. The proposed wording was not accepted. -------------------------------------------------- AI-23/01 Static numeric subtypes The recommendation was accepted: 6-0-0. The proposed wording was not accepted. -------------------------------------------------- AI-128/00 Membership tests, short-circuit operators in static expressions The use of membership tests or short-circuit operators makes an expression non-static: 6-0-0. -------------------------------------------------- AI-6/01 What is the subtype of a loop parameter? The recommendation was accepted: 6-0-0. -------------------------------------------------- AI-152/00 Raising PROGRAM_ERROR in a function call The committee was divided on whether the current wording was ambiguous. There was insufficient support for any recommendation to carry by a 2/3 majority. -------------------------------------------------- AI-148/00 Legality of -1..10 The Standard is unambiguous on this point and reflects the design team's intent; -1..10 is illegal: 5-2-0. A study commentary will be opened to consider the implications of making such constructs legal. -------------------------------------------------- AI-141/00 Meaning of "update" for shared actual parameters The recommendation was accepted: 7-0-0. The proposed wording needs further study to see whether 6.2 or 9.11 should be changed. It was agreed to make the recommendation a binding interpretation: 7-0-0. -------------------------------------------------- AI-4/01 Packed composite objects and shared variables It was agreed that further study was needed. Perhaps the previous wording should be reinstated, or implementations should be allowed to state further restrictions in Appendix F. -------------------------------------------------- AI-142/00 Proposed solution to packed composite object ... It was agreed that this was a proposed change. No further action will be taken at this time. -------------------------------------------------- AI-153/01 Can an incompletely declared private type be used in a membership The intent was to exclude such usage, i.e., to forbid "expression" as well as "simple expression": 7-0-0. It was noted that wording in 13.1 also should be changed to include both expression and simple expression. -------------------------------------------------- AI-20/02 Can a real literal be an operand of a fixed point multiply? The Standard currently forbids such usage: 6-0-1. It was agreed to open a new commentary to study the possibility of allowing such usage of literals. -------------------------------------------------- AI-151/00 Case expression of a type derived from a generic formal type It was intended that the restriction also apply to such derived types: 7-0-0. -------------------------------------------------- AI-159/00 Can NUMERIC_ERROR be raised arbitrarily? No action was taken. JDI will propose a recommendation. -------------------------------------------------- AI-139/00 What "characteristics" belong to full vs. private type? The test explores a consequence of the wording of the Standard: 3-0-4 (passes). -------------------------------------------------- AI-48/01 May CURRENT_INPUT be reopened as an output file? By analogy with RESET, an attempt to close a file serving as the current input or current output should raise STATUS_ERROR: 6-0-1. This is a binding interpretation. -------------------------------------------------- AI-7/02 Constraining an incomplete or private type. No recommended solution was found acceptable. The goal should be to make it impossible for the situation to arise. Gerry Fisher proposed to only allow such discriminant constraints when the discriminants govern variant parts. -------------------------------------------------- AI-24/01 Type conversions as out parameters for non-scalar types. Further analysis is needed, although it was recognized that some conversion is needed and that performing the needed conversions may cause CONSTRAINT_ERROR to be raised. The issue is whether full type conversion semantics need to be applied. -------------------------------------------------- AI-46/01 Lifetime of a temporary file It was considered a ramification that temporary files cannot be deleted prior to the end of the main program since they have names, and can therefore be reopened after they are closed: 7-0-0. -------------------------------------------------- AI-167/00 It is possible to access a task from outside its master The comment was found to present a correct analysis of the language. It was felt that the example did not pose implementation difficulties, e.g., an implementation could put a terminated flag in the descriptor for a task: 7-0-0. -------------------------------------------------- AI-137/00 Exponentiation with floating point operand The analysis in comment 83-00192 is correct regarding how exponentiation must be implemented in order to conform to the Standard. This comment is considered a ramification of the current wording: 7-0-0. -------------------------------------------------- AI-45/01 Subtype of SYSTEM.PRIORITY PRIORITY can have a null subtype: 7-0-0. Subtype PRIORITY is allowed to be non-static: 4-2-1. -------------------------------------------------- AI-31/02 Out-of-range argument to pragma PRIORITY The recommendation is accepted. No wording change is needed. 6-1-0. -------------------------------------------------- AI-145/00 Dynamic computation of 'MANTISSA for fixed point subtypes The analysis in the issue is correct and reflects the intent of the design: 7-0-0. -------------------------------------------------- AI-51/01 Syntax of "integer literal" The interpretation proposed in comment 83-00094 is accepted: 7-0-0. -------------------------------------------------- AI-25/01 Checking out parameter constraints for scalar private types Recommendation accepted, after extension to parameters of any mode: 7-0-0. -------------------------------------------------- AI-8/01 Negative exponents in based notation Accepted as is: 7-0-0. -------------------------------------------------- AI-143/00 Model numbers for delta 1.0 range -127.0 .. 128.0 OK as a ramification: 7-0-0.