From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=BAYES_00,INVALID_DATE autolearn=no autolearn_force=no version=3.4.4 Path: utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!usc!zaphod.mps.ohio-state.edu!tut.cis.ohio-state.edu!ucbvax!AJPO.SEI.CMU.EDU!nyberg From: nyberg@AJPO.SEI.CMU.EDU (Karl Nyberg) Newsgroups: comp.lang.ada Subject: Ada9X Revision Requests Categorization, part 2 of 3 Message-ID: <9003082250.AA29591@ajpo.sei.cmu.edu> Date: 8 Mar 90 22:50:48 GMT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet List-Id: [Ed. - ditto] Subject: Ada9X Revision Requests Categorization, part 2 of 3 Date: Thu, 08 Mar 90 05:12:38 EST From: deilers@ajpo.sei.cmu.edu Chapter 6 14: 6 Passing of subprograms as parameters 267: 6 Poor LRM description of specifications and declarations 268: 6 Shouldn't separate subprogram specifications and bodies 517: 6. Need way to declare side-effect free subprogram/type/generics 165: 6. Need way to specify user pre/post conditions on subprograms 674: 6. Attributes as functions 740: 6. Optimization of scopes of inlined subprograms 269: 6.1 Recursion should be explicitly declared 30: 6.1(3) Subprogram specification should declare objects referenced 2: 6.2(5) Permit reading of out parameters 574: 6.2(6) Uninitialized out mode access parameters 60: 6.3.2(1) Pragma selective inline, specified at each call 205: 6.3(2) Provide names for private, begin, and exception parts 469: 6.3 Define argument identifiers for language-defined pragmas 55: 6.3 Renamings and generic instantiations as subprogram bodies 344: 6.3.1 Conformance rules should be simplified 398: 6.3.2 Applying pragma inline to specific overloaded subprograms 471: 6.4.1 Distinguishing parameter modes on calls 97: 6.4.2 Explicit invocation of default parameter 576: 6.4.2 Default values for parameters referencing other parameters 201: 6.4 User defined infix functions 26: 6.5(1) The parameters of a function subprogram must have the mode "in" 8: 6.7(4) Allow overloading of "=" 70: 6.7 User defined assignment Chapter 7 82: 7. Allow objects of private type in visible part of package spec 270: 7. Allow read-only access to package data objects 1: 7. Semilimited types 478: 7. Protection against viruses and trojan horses 271: 7.3(3) "own" variables in packages 229: 7.4 Private scalar types 451: 7.4 Separately compilable data objects 684: 7.4 Private types should be known to "friendly" packages 690: 7.4 Completion of types by subtypes 93: 7.4 Constants deferred to package body 313: 7.4(4) Allow deferred constants of arbitrary types 153: 7.4.1 Private part should be separable from specification 423: 7.4.1 Full declaration of private types with discriminants 10: 7.4.1(3) Private type derived from discriminated type 542: 7.4.1(4) Restrictions to use of private types before declaration 513: 7.4.2(3) Overloading of "=" and "/=" without result type boolean 329: 7.4.3(4) Erroneous reference to deferred constant 577: 7.4.3 Deferred constants of composite incomplete types 202: 7.4.4 OUT mode parameters for limited types Chapter 8 131: 8. Visibility of hidden identifiers in qualified expressions 274: 8. Poor LRM description of visibility rules 156: 8. Simplify overloading for ambiguous/universal expressions 395: 8. Overload resolution could use named parameter information 588: 8.3 Visibility of objects via use clause vs. declaration 462: 8.3(16) Allow use of subprogram name in formal part as selector 483: 8.3(16) Instantiating a generic subprogram without changing the name 35: 8.3(21) Overloading of generic subprogram names 22: 8.4 Selective visibility of operators from external package 96: 8.5 Renaming enumeration literals as character literals 172: 8.5 Type renaming 275: 8.5(5) Renames should not be used to change parameters 701: 8.6 Specification of package standard in Ada Chapter 9 74: 9. Standardized run time system interface(s) 173: 9. Rendezvous with an object containing multiple tasks 174: 9. Concurrent access to package data/reusability 143: 9. Need better RTS documentation 84: 9. Reducing run-time tasking overhead 83: 9. Asynchronous transfer of control 71: 9. Parallel/distributed systems 185: 9. Add semaphores 16: 9. User control of scheduling algorithms 21: 9. Asynchronous inter-task communication not available 123: 9. Unique task ID passed at task object creation 436: 9. Poor LRM description of task synchronization points 181: 9. Inter-program rendezvous/communication 514: 9. Simple parallel threads 737: 9. Allow preference control for entries in a select statement 753: 9. Consistent syntax for task type declarations 279: 9.1(1) Tasking overhead for main programs not using tasking 90: 9.1 Control over visibility of task entries 464: 9.1(2) Provide t'storage_size, t'size for task objects 104: 9.2 Accessing a task outside its master 23: 9.4(13) Termination of tasks whose masters are library units 15: 9.5 Priority inversion 216: 9.5 Require tasks to have an accept statement for each entry 217: 9.5 Compiler should verify that all accept parameters are used 499: 9.5 Allow exception handlers in accept statements 543: 9.5(8) Nested accept statements 78: 9.6 Delay until, periodic scheduling 37: 9.6 Control of clock speed and task dispatch rate 105: 9.6 Application control/configuration of timers/clocks 280: 9.6 Granularity of delay 281: 9.6 Poor LRM description of delay statement 352: 9.6 Accuracy of local system time 79: 9.7.1 Terminate not usable 498: 9.7 Conditional entry call symmetry with accept statements 158: 9.7.1(3) Entry calls with delay and terminate alternatives 13: 9.8 Dynamic priorities 134: 9.9 Count attribute as boolean guard to entry is not secure 63: 9.10 Abort statement is too loosely defined 119: 9.11 Shared composite objects/atomic transactions 678: 9.11 Pragma volatile Chapter 10 91: 10. LRM should not describe the process of compilation 38: 10. Subsystems, multi-level libraries, (subunit) name clashes 177: 10. Ada should support configuration management 282: 10. Real-time characteristics should be be more apparent 368: 10. Program library should be accessible to users 370: 10. Semantics of library units 557: 10. Operators as subunits 262: 10. Creating stubs should not be required 601: 10. Library-level renames 95: 10.1.1 Application of context clauses 283: 10.1.1 Context clauses controlled by compiler options 730: 10.1(1) The private part of a package should have its own context clause 28: 10.2(2) Allow semicolon after separate clause 448: 10.2 Allow separate compilation of subunit spec 545: 10.2(3) Body stubs restricted to top level 769: 10.2(5) Poor LRM wording regarding ancestor units 142: 10.3.5 Reducing compilation costs 689: 10.3 Obsolete optional bodies 301: 10.4(1) Poor LRM wording of meaning of a single compilation 4: 10.5(3) Elaboration order, pragma elaborate 285: 10.5 Library unit elaboration with multiple programs 700: 10.6 Optimization of constant generating functions 343: 10.6 Support conditional compilation Chapter 11 33: 11. Finding the name and location of the currently raised exception 36: 11. Implementation of exceptions as types 263: 11. Constraint error and other predefined exceptions are too broad 118: 11. Recovery from storage_error 621: 11. Making a procedure out of complex exception handler code 646: 11. Exceptions do not carry parameters 583: 11.1(6) Eliminate numeric_error 765: 11.2(2) Way to denote all exceptions declared in package in "when" 444: 11.3 Private exceptions 407b: 11.4.1 Tasks should not die silently 254: 11.6 Revise optimization rules, canonical execution order Chapter 12 5: 12. Difficulties of generic code sharing 445: 12. Staticness in generic units 497: 12. Unconstrained types with discriminants as generic parameters 424: 12. Additional generic formal parameters, re-export 562: 12. Require support for separate compilation of generic bodies 584: 12.1.1 Stricter checking of matching constraints for instantiations 622: 12.1(2) Metatypes 714: 12.1(2) Allow default names for all generic formal parameters 760: 12.1(1) Needless repetition found in generic subprogram declarations 6: 12.3.2 Generic formal unconstrained private types 169: 12.3 "null" as an actual for generic formal subprogram parameters 548: 12.3(2) Improved syntax for nested generic instantiations 586: 12.3(17) Order of evaluation for generic actual parameters 608: 12.3(18) Allow recursive instantiations Chapter 13 763: 13. Inverse of pragma suppress 62: 13. Providing explicit control of size of memory access 65: 13. Separate directives, representation clauses from Ada text 355: 13. Standard way to get operating system command line parameters 288: 13.1 Integrate representation specifications with declarations 418: 13.1 Representation clause for array types including multi-dimension 699: 13.1(10) Allow pragma pack for objects 187: 13.2 Sign extensions when length clauses are used 417: 13.2 Length clause t'size is inadequate 137: 13.4 Bit/storage unit addressing convention 290: 13.4 Using range for position representation 110: 13.5 Provide explicit control of memory usage 87: 13.5.1 Improved interrupt handling 17: 13.5(8) Efficient and less dangerous ways to break strong typing 292: 13.6 Delete section 13.6 287: 13.7 Addressing and dereferences 293: 13.7 Permit subtypes of type address 302: 13.7 Denoting values of type address is not standardized 43: 13.8 Usable machine code insertions 490: 13.8 Exception handlers in procedures containing code statements 489: 13.8(3) Code statements in function bodies 39: 13.9 Interface to other ANSI languages 527: 13.9 Pragma interface for language versions 113: 13.10.1 Guarantee memory reclamation 103: 13.10.2 Limitations of unchecked conversion for OUT parameters 353: 13.10.2 Unchecked conversion guidelines 449: 13.10.2 Prohibit unchecked conversion on private types 554: 13.10.2 Constraint checking after unchecked conversion and I/O Chapter 14 89: 14. Add predefined screen terminal_io package 164: 14 Non-blocking I/O 294: 14. Make Chapter 14 optional 147: 14. Add predefined ISAM package 149: 14. Add predefined keyboard I/O package 447: 14.1 Need assignment for text_io.file_type 159: 14.1 File system functions: exists, rename, copy 593: 14.1 Support for direct_io and sequential_io on variant records 626: 14.2 Interoperable I/O 382: 14.2.1 File append capability 146: 14.2.3 File and record locking 295: 14.3 Additional put_line definitions desirable 333: 14.3 Unpredictable behaviour of text_io 484: 14.3 Add generic formals for default values to text_io packages 485: 14.3 Add function device_line_length to text_io 47: 14.3.5 "get" and "put" as functions 552: 14.3.6 The difficulty of reading a line in a padded string 553: 14.3.6 The semantics of get_line are difficult to use 360: 14.3.7 COBOL Picture format 361: 14.3.7 Enhanced put for integers 130: 14.3.7 Define "default_xy" in I/O packages as functions 127: 14.3.8 Output of real numbers with bases 359: 14.3.9 Mixed_case 732: 14.3.9 Instantiating text_io.enumeration_io on an integer type 758: 14.5 Badly numbered paragraph 297: 14.6 Delete section 14.6, low level input-output Appendices 298: A Poor LRM definition of allowable prefixes for attributes 453: A 'sign attribute for numeric types 716: A Unify some attributes for numeric types 696: B Pragmas list and page should be optional 746: B Graphics included in source code 204: C Predefined operators for fixed point types 366: C Definition of natural is incorrect 715: C(5)(8) End use of universal integer and universal real 757: D Poor LRM definitions for program unit and compilation unit No specific section 67: None Definition and use of technical terms 150: None Provide chaining capability in predefined procedure 206: None Referencing paragraph numbers in the reference manual 299: None Reference manual organization 300: None Ada grammar 309: None Automate the production of the new LRM 318: None Machine-readable LRM 481: None SGML format 319: None Orthogonality 356: None Compile date 373: None Dynamic binding 426: None Obscurities caused by special cases 427: None Removing useless complexity 435: None A secondary standard, Low-Ada, for program validation 459: None Provide improved support for interoperability 500: None Consistent hyphenation of complex terms 501: None Using a clear delimiter in section headings 644: None Time bounds on Ada primitive operations 673: None Liberalization of end record 759: None Features necessary to support control engineering 277: None Implementation wording does not belong in the LRM 502: None Consistent use of upper- and lowercase