Roadmap and Changes


Besides the "Ada++ Issue/Feature" list below, Ada++ behaves like Ada since it is based on the GNAT Ada compiler.

Please see the Ada Reference manual for detailed semantic information and definitions of vocabulary.

Items crossed off the list have been fully or partially implemented.

NOTE: The docs are currently insufficient and much more detail is needed!


CI20-00 Support LLVM


Since AdaCore has released an GNAT LLVM backend, it might be nice to pick up new targets or performance improvements.


AI20-01 Allow optional curly braces instead of begin ... end;


Allow curly braces in all cases where end is allowed and remove requirement to place a keyword or Id after a right curly brace.


AI20-02 Add new subtypes in package Standard which appreviate certain common types


Create a definition of Int_32, Int_64, Char_8, Str, and Bool - along with any other useful types like unsigned integers of various sizes.


AI20-03 Add abbreviate form of Pragma


Allow pragmas to be specified by a leading # symbol.


AI20-04 Add abbreviate form OF 'is' keyword


Allow pragmas to be specified by a leading : symbol.


AI20-05 Add shortened versions of keywords


Add extra abbreviate optional form of keywords such as private, protected, subtype, procedure, etc.


AI20-06 Add ++, +1, and -1 oeprators


Plus plus operator (like the language's namesake) must be present :). However, There are still ongoing discussion about the other forms.


AI20-07 Add "Raise when" construct


Add a new construct to facilitate the common use case of a single raise statement within an if statement which can often be used when getting for correctness within a program.