Rationale
for
Ada 2005
John Barnes
Table of Contents
Preface
1.
Introduction
1.1
Revision process
1.2
Scope of revision
1.3
Overview of changes
1.3.1
Overview: The object oriented model
1.3.2
Overview: Access types
1.3.3
Overview: Structure, visibility, and limited types
1.3.4
Overview: Tasking and real-time facilities
1.3.5
Overview: Exceptions, numerics, generics etc
1.3.6
Overview: Standard library
1.4
Conclusions
2.
Object oriented model
2.1
Ada Issues: Object-oriented model
2.2
Reserved words
2.3
The prefixed notation
2.4
Interfaces
2.5
Nested type extension
2.6
Object factory functions
2.7
Overriding and overloading
3.
Access types
3.1
Ada Issues: Access types
3.2
Null exclusion and constant
3.3
Anonymous access types
3.4
Downward closures
3.5
Access types and discriminants
4.
Structure and visibility
4.1
Ada Issues: Structure and visibility
4.2
Mutually dependent types
4.3
Visibility from private parts
4.4
Aggregates
4.5
Limited types and return statements
5.
Tasking and Real-Time
5.1
Ada Issues: Tasking and Real-Time
5.2
Task termination
5.3
Synchronized interfaces
5.4
The Ravenscar profile
5.5
Scheduling and dispatching
5.6
CPU clocks and timers
5.7
High Integrity Systems annex
6.
Exceptions, generics etc
6.1
Ada Issues: Exceptions, generics, etc
6.2
Exceptions
6.3
Numerics
6.4
Pragmas and Restrictions
6.5
Generic units
7.
Predefined library
7.1
Ada Issues: Predefined library
7.2
The container library
7.3
Times and dates
7.4
Operational environment
7.5
Characters and strings
7.6
Numerics annex
7.7
Categorization of library units
7.8
Streams
8.
Containers
8.1
Organization of containers
8.2
Lists and vectors
8.3
Maps
8.4
Sets
8.5
Indefinite containers
8.6
Sorting
8.7
Summary table
9.
Epilogue
9.1
Compatibility
9.1.1
Incompatibilities with Ada 95
9.1.2
Inconsistencies with Ada 95
9.2
Retrospective changes to Ada 95
9.2.1
Incompatibilities with original Ada 95
9.2.2
Inconsistencies with original Ada 95
9.3
Unfinished topics
9.3.1
Aggregates for private types
9.3.2
Partial generic instantiation
9.3.3
Support for IEEE 559: 1989
9.3.4
Defaults for generic parameters
9.3.5
Pre/post-conditions for subprograms
9.3.6
Type and package invariants
9.3.7
Exceptions as types
9.3.8
Sockets operations
9.3.9
In out parameters for functions
9.3.10
Application defined scheduling
9.4
Postscript
References
Index
© 2005, 2006, 2007 John Barnes Informatics.
Sponsored in part by:
The
Ada Resource Association
and its member companies:
and
Ada-Europe
: