Ada Programming/Ada 2022
Jump to navigation
Jump to search
This is an overview of the major features that are available in Ada 2022, the most recent version of the Ada standard.
Summary of what's new
[edit | edit source]New profile
[edit | edit source]Jorvik is a subset of the Ada tasking capabilities, similar to Ravenscar and which imposes fewer restrictions, removing the following ones compared to the Ravenscar profile:
- No_Implicit_Heap_Allocations
- No_Relative_Delay
- Simple_Barriers
- Max_Entry_Queue_Length => 1
- Max_Protected_Entries => 1
- No_Dependence => Ada.Calendar
- No_Dependence => Ada.Synchronous_Barriers
New syntax
[edit | edit source]- Assignment target name @
- Square brackets for array aggregates
- Default initial conditions for types
- Default generic parameters
- Declare expressions
- Reduction expressions
- Iteration filters
- Generalized literals
New keywords
[edit | edit source]New pragmas
[edit | edit source]- Admission_Policy
- All_Calls_Remote
- Conflict_Check_Policy
- Elaborate_Body
- Generate_Deadlines
- Preelaborable_Initialization
- Preelaborate
- Profile now supports the Jorvik profile
- Pure
- Remote_Call_Interface
- Remote_Types
- Shared_Passive
New aspects
[edit | edit source]- Aggregate
- Allows_Exit
- Default_Initial_Condition
- Dispatching
- Elaborate_Body
- Full_Access_Only
- Global
- Global'Class
- Integer_Literal
- Iterator_View
- Max_Entry_Queue_Length
- No_Controlled_Parts
- No_Return (for functions)
- Nonblocking
- Parallel_Calls
- Parallel_Iterator
- Preelaborable_Initialization
- Put_Image
- Real_Literal
- Relative_Deadline
- Stable_Properties
- Stable_Properties'Class
- Static
- Static_Predicate
- String_Literal
- Synchronization
- Use_Formal
- Yield
New attributes
[edit | edit source]- 'Enum_Rep
- 'Enum_Val
- 'Index
- 'Object_Size
- 'Parallel_Reduce
- 'Preelaborable_Initialization
- 'Put_Image
- 'Reduce
- 'Relative_Deadline
New packages
[edit | edit source]- Atomic_Operations:
- Big Numbers:
- Containers: