A.2 The Package Ada
Static Semantics
1
The following language-defined 
library package exists: 
2
package Ada 
is
    pragma Pure(Ada);
end Ada;
 
3
Ada serves as the parent of most of the other language-defined 
library units; its declaration is empty (except for the pragma 
Pure). 
Legality Rules
4
In the standard mode, it is illegal to compile a 
child of package Ada. 
4.a
Reason: The intention is that mentioning, 
say, Ada.Text_IO in a with_clause is guaranteed 
(at least in the standard mode) to refer to the standard version of Ada.Text_IO. 
The user can compile a root library unit Text_IO that has no relation 
to the standard version of Text_IO. 
4.b
Ramification: Note that Ada can have 
non-language-defined grandchildren, assuming the implementation allows 
it. Also, packages System and Interfaces can have children, assuming 
the implementation allows it. 
4.c
Implementation Note: An implementation 
will typically support a nonstandard mode in which compiling the language 
defined library units is allowed. Whether or not this mode is made available 
to users is up to the implementer.
4.d
An implementation could theoretically have private 
children of Ada, since that would be semantically neutral. However, a 
programmer cannot compile such a library unit. 
Extensions to Ada 83
4.e
{
extensions to Ada 83} 
This 
clause is new to Ada 95.