URG Minutes, 11-12 June 1990 11th June: Present: Robert Dewar, Brian Wichmann, Paul Hilfinger, Jan Pederson, Bob Eachus, Jon Squire, Jack Kramer, Anthony Gargaro, Antoine Bertier, Kiyoshi Ishihata, Susan LeGrand, Kit Lester, Norm Cohen. Bob Eachus did not have the minutes of the last meeting, but his notes indicated that issue 66 had been assigned: Editor Bob Eachus, Title Relationship between delay, duration and time. ACTION PDK. Issue 0 (Editor: Brian Wichmann, Title: Conformity to Issues). Editor noted revisions. The issue would be presented to WG9 with the caveat that the list under recommendations would be moved to `discussion'. Comments awaited from WG9. ACTION BAW after WG9 comments. The rest of the report to WG9 was noted. Issue 17 (Editor: Anthony Gargaro, Title: Generic Instantiation Behavior). Thought to be a serious problem since many users expected some benefits from generic sharing. Editor quoted case in which code size was 25% higher than expected due to non-sharing. Problems were: a) functionality (RM10.3(9)), refer to AI-00408. b) compiler performance c) run-time performance A recommendation for sharing is not useful, since the `benefits' could be negative! Documentation requirements and listing warnings seemed a potential way to produce this UI. ACTION AG. Issue 12 (Editor: Bryce Bardin, Title: Unsigned arithmetic). (This item was discussed in spite of Editor's absence, due to being on ARG agenda and near to resolution.) It was thought that the attribute 'UNSIGNED was not needed since 'UNSIGNED = ('BASE'FIRST = 0). The need to handle the modulus for both 2's complement and 1's complement machines would in practice be undermined by users assuming 2's complement. Hence doing the same as 'C' seemed better -- have a modulus for 2's complement machines. Those vendors having 1's complement machines could either change the specification of the package appropriately (it is not part of the Standard), or provide an inefficient implementation (not so bad, since unsigned arithmetic is not likely to be used as much as the predefined, signed types). The need for unsigned arithmetic shift was queried. The consensus was for removing the arithmetic shift and calling LOGICAL_SHIFT SHIFT. There was a need to justify having a single shift with a signed parameter as opposed to two single-directional shifts. The proposal should state that "abs" is needed for generics. What operations are provided for generics? Currently we get the predefined (signed) operations. The presentation should use proper function definitions and not comments for functions. The operator symbols should be retained. Bardin should consult Cohen on the presentation. ACTION BB & NC. The proposal should request efficiency rather than use pragma INLINE. Testing and example can be removed from the final version. Page 18, the example using -4 is unfortunate, since it depends upon bit-numbering. Issue 7 (Editor: Brian Wichmann, Title: UNCHECKED_CONVERSION for equal sizes). Editor to revise, as per discussion. ACTION BAW. Issue 31 (Editor: Robert Dewar, Title: Preemptive scheduling is required). Robert stated that a weak requirement in this area would be useful -- that is, requiring multiple priority levels. It appears that some implementations do not conform to the RM in this area. Final approval agreed (12-0-0). Issue 32 (Editor: Robert Dewar, Title: Time slicing is required). Change title. ACTION PDK. It was agreed that a current practice section was needed. Robert will take action on this. ACTION RD & KD. Final approval agreed (12-0-0). Issue 34 (Editor: Dominique Chandesris, Title: Abort statement). Since Dominique had not appeared at several meetings, it was agreed to re-assign the editorship to Bob Eachus. Paul Kenward would inform Dominique of this. ACTION PDK. The topic was discussed, and Bob Eachus would revise. ACTION RE. Issue 39 (Editor: Robert Dewar, Title: Non-blocking I/O). Final approval agreed (12-0-0). Brian Wichmann to do small wording changes. ACTION BAW. Issue 18 (Editor: Brian Wichmann, Title: Treatment of undefined variables). Comments from Franco Mazzanti discussed at length. It was noted that B=B can be false if B is initialized. Similarly, if (B and not B) then need not be executed. Also, A.all := can be disastrous is A is deallocated. It was thought that types in which all bit-patterns were values of the type would be 'well-behaved'. On reflection, this is false, since the case when OBJECT'SIZE > T'SIZE causes problems. Editor to revise. ACTION BAW. Issue 59 (Editor: Norm Cohen, Title: Not allowed to reason for erroneous). Discussed at length. Agreed that the situation with "in" and "not in" needed special treatment. This was assigned to Issue 60, with Norm Cohen the editor. ACTION PDK. Issue 59 to be revised, and 60 written. ACTION NC. It was agreed that "in" and "not in" must not give exceptions, but report false. 12th June: Present: Robert Dewar, Brian Wichmann, Paul Hilfinger, Jan Pederson, Bob Eachus, Jon Squire, Jack Kramer, Anthony Gargaro, Antoine Bertier, Kiyoshi Ishihata, Susan LeGrand, Kit Lester, Jean-Pierre Rosen, Graham Hodgson, Zohair Maany, Ken Dritz, Norm Cohen. Issue 48 (Editor: Jon Squire, Title: Uniformity of Floating Point Names). (Secretary: Title should remove "Uniformity" since implicit to all UIs.) Agreed to rewrite it in terms of the underlying accuracy of the mantissa, i.e, in terms of 'MACHINE_MANTISSA and 'MACHINE_RADIX. Also, the wording needs to refer to types explicitly (and not subtypes). The use of the type name EXTENDED in UI-47 needs to be justified to avoid any potential conflict with this issue. Editor to revise. ACTION JS. It was agreed that all Uniformity Issues concerned with floating point should be formally approved by NRG before submission to WG9. (Secretary will revise the text of the WG9 report to state this explicitly so that subsequent reports indicate this.) ACTION BAW. Issue 47 (Editor: Robert Dewar, Title: IEEE Floating point). Long discussion on dynamic precision control. Robert agreed to revise appropriately. Similar discussion on rounding control (less contentious, since does not conflict with Ada semantics). ACTION RD & KD. What about the precision in a rendezvous? What about 'mixed-mode' computation? There is a case for 'strict' option in which no extra precision is provided, even if it is expensive on some machines. The problem with extra precision is that Q=Q could be false, and Ada permits, but users would find confusing. Brian Wichmann offered another UI on this, and hence would take over issue 9. ACTION BAW. It was agreed the UI-47 should proceed, rather than being processed by the NRG itself (i.e, part of the Technical Report seems correct mechanism). NRG Issues (Presented by Ken Dritz). Ken explained a problem that had arisen with the signed zeroes which IEEE supports. Bit-wise block comparisons do not work in the case of signed zeroes since they are not equal as bits but are equal as floating point values. Such comparisons also have problems with undefined gaps in records/arrays and with unnormalized values (erroneous in Ada). Signed zeroes appear in secondary standards, such as arctan. Three options were discussed: a) Required observance of signed zeroes (if provided by hardware). b) Permitted observance of signed zeroes (if provided by hardware). c) Requited ignoring of signed zeroes, so arctan(-0.0,3.0) = -PI. The consensus appeared to be for b) supported by documentation. Future meetings 11-12th September will be at MITRE. Bob Eachus to send NPL details for distribution. ACTION RE. 26-27th February at Portsmouth. Kit Lester will arrange for taxis from Heathrow/Gatwick given suitable notice. Will be at Portsmouth Management Centre which is full board but reasonably priced and good food. We decided not to arrange a meeting in Athens, due to high travel cost. We agreed to ask John Goodenough to see if he/SEI could arrange a meeting in Pittsburgh (SEI or near) for June 1991, avoiding the SIGPLAN and Washington Ada Seminar meetings. Publication We agreed that a synopsis of the agreed UIs should be published in Ada Letters. Material to be reviewed by e-mail. The Secretary did not note who was doing this! ACTION ??? Issue 63 (Editor: Jon Squire, Title: UNCHECKED_C for unconstrained type). The important case is when the types are NOT the same size, and hence not covered by UI-7. The general idea was to have something like: if you provide this functionality, then the properties are... PROGRAM_ERROR on an inappropriate instantiation seems best. ACTION JS. Issue 62 (Editor: Jon Squire, Title: UNCHECKED_C for unequal sizes). The general idea was to have something like: if you provide this functionality, then the properties are... PROGRAM_ERROR on an inappropriate instantiation seems best. ACTION JS. Issue 43 (Editor: Dave Emery, Title: Meaning of address attribute/clause). Request Dave to revise. ACTION DE. (I do not have reasons recorded!) Issue 61 (Editor: Anthony Gargaro, Title: Time-related data). Discussed. Editor to revise. Anthony reported that some implementation of CLOCK were 25 times slower that an 'optimized' version! ACTION AG. Issue 45 (Editor: Robert Dewar, Title: 64-bit Fixed Point). Robert Dewar will send NPL the Ada 9X material on this by e-mail so that an appropriate Issue can be prepared by NPL. ACTION RD & KD. A vote of thanks was taken for the work that Paul Kenward had put into preparing the papers for the URG. A vote of thanks was taken for the local arrangements made by Kit Lester for the meeting. NB. These minutes are not intented to be complete: the editor on an issue should be consulted on details. Brian Wichmann, 90-06-20