[comp.lang.ada] Ada9X Revision Requests Categorization, part 2 of 3

nyberg@AJPO.SEI.CMU.EDU (Karl Nyberg) (03/09/90)

[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