# Ada Programming/Libraries


## Predefined Language Libraries

Ada\'s built-in library is provided by three root library units: Ada,
Interfaces, and System; other library units are children of these. The
library is quite extensive and well-structured. These chapters too are
more reference like. Most specifications included in them have been
obtained from the reznikmm/adalib
repository.

The package Standard contains all predefined identifiers in the
language.

-   Standard
-   Ada
-   Interfaces
-   System

Ada 83 had a much smaller library
and did not yet have this library structure. These root libraries were
introduced in Ada 95 to inhibit a
*name pollution*. To preserve compatibility, there exist renamings of
all Ada 83 library units `XXX` as `Ada.XXX` respectively `System.XXX`;
see RM .
Contrary to the names in the root hierarchies, the original Ada 83 names
`XXX` are not protected -- they may be reused for user-defined library
units.

## Implementation-Defined Language Libraries

Every Ada implementation has as an extension of the predefined Ada
library. One example is the library provided by the
GNAT implementation.

-   GNAT

## Other Language Libraries

Other libraries which are not part of the standard but freely available.

-   Multi Purpose
-   Container
    Libraries
-   GUI Libraries
-   Distributed
    Objects
-   Database
-   Web Programming
-   Input/Output

## See also

### Wikibook

-   Ada Programming

### Ada Reference Manual

-   
### Resources

-   A collection of Tools and
    Libraries
    maintained by the Ada Resource Association.
-   The collection of crates of
    Alire, a package manager for Ada
    libraries and applications in source form.

Programming}}\|Libraries

es:Programación en Ada/Unidades
predefinidas
