The current version provides implementations of smart pointers, directed graphs, sets, maps, B-trees, stacks, tables, string editing, unbounded arrays, expression analyzers, lock-free data structures, synchronization primitives (events, race condition free pulse events, arrays of events, reentrant mutexes, deadlock-free arrays of mutexes), arbitrary precision arithmetic, pseudo-random non-repeating numbers, symmetric encoding and decoding, IEEE 754 representations support, streams, persistent storage, multiple connections server/client designing tools and protocols implementations.
Changes (2 July 2026) to the version 4.80:
- Compatibility to GNAT 16.1.1. This GNAT 16.1.1 has the recurring issue/bug related to the visibility of names from formal generic packages;
- Constant expression folding was added to Ada expression parser (Parsers.Generic_Ada_Parser). Folding is optional. If enabled expressions in universal types and constant Boolean expressions are folded. e.g. 1 + 2 + A (5) → 3 + A (5);
- The subprograms Get, Put, Value were added to the package Parsers.Multiline_Source;
- The call-back On_Success was added to the Generic_Lexer’s parser;
- The procedures Mark and Release were added to the package Parsers.Generic_Lexer;
- The package Stack_Storage.Text_IO was added to output stack pool statistics;
- Parameter Message was added to the procedure Put_Line of the package Parsers.Generic_Source.Text_IO;
- Ada expression parser supports raise-statements outside immediate pair of parentheses;
- Checking positional and named aggregates was added in the Ada expression parser;
- Checking positional and named parameters was added in the Ada expression parser;
- Array objects were added to the declare expressions in the Ada expression parser;
- Aspects recognition was added to the declare expressions in the Ada expression parser;
- Subtype marks and indications were added in the Ada expression parser;
- Attributes were added in the Ada expression parser;
- Target name @ support was added in the Ada expression parser;
- The parser can start with the first operand already recognized;
- An ability to parse an expression in parenthesis with a consumed left parenthesis was added;
- Comparisons of Unbounded_Integer bug fixed;
- Log procedure was added to Unbounded_Unsigneds;
- Column_Name function was added to the SQLIte bindings (contributed by Xavier Grave).