Ada 2022

The Next Generation of Ada

A new Standard for Ada has been published as ISO/IEC 8652:2023. This Standard is informally known as Ada 2022 (it was originally expected to be published in 2022, but the gears of standardization turn slowly). This is a formal revision to Ada, integrating the previously separate changes from earlier Technical Corrigenda and Editions of the Standard, along with a variety of new features and changes. Ada continues to evolve with software theory and practice, and undoubtedly there will be further improvements in the future.

Below is an brief survey of the more important enhancements in Ada 2022. These enhancements can be grouped as follows:

  • Improved support for parallel execution via the introduction of parallel loops and blocks, coupled with static detection of data races and potential blocking, along with a new set of packages to support atomic operations, such as fetch-and-add and compare-and-swap;
  • Enhanced capabilities for user-defined containers and other abstract data types, including aggregates, images, and literals for such types, plus an ability to operate on containers using new syntax for incorporating iterator filters, map/reduce, and user-defined iterator procedures;
  • More expressive contracts using delta aggregates, declare expressions, pre- and postconditions on access-to-subprogram types, and user-defined static functions, along with new packages to support arbitrary-precision integer and rational arithmetic;
  • A more flexible, but still analyzable, Jorvik profile for real-time systems, as the next step up from the Ravenscar profile.

Further Reading

An Overview of Ada 2022
Written by Jeff Cousins, past chair of the ARG, this article describes the changes in Ada 2022 in detail, discusses the reasons for them, and provides examples of use.

A Sampling of Ada 2022
The slides from the Ada-Europe 2021 keynote talk by Tucker Taft.

Ada 2022 Language Reference Manual
The actual text of the Ada 2022 edition of the Ada Reference Manual (the source of the Standard) is available here, in various forms.

Ada Issues
These are the original design documents for each change to the language. Each one of the enhancements mentioned above corresponds to one or more Ada Issues (AIs). For further details, please refer to the database at the Ada Information Clearinghouse (see http://www.ada-auth.org/AI12-SUMMARY.HTML where the interested reader will find up-to-date descriptions and a full list of Amendment AIs, along with their status, motivation and ongoing discussions).

Share and Enjoy:
  • email
  • LinkedIn
  • Twitter
  • Facebook
  • Digg
  • RSS