Ada '83 Rationale, Sec 11.1: Introduction (to Ch 11: General Program Structure - Visibility and Overloading)
"Rationale for the Design of the
Ada® Programming Language"
[Ada '83 Rationale, HTML Version]
CHAPTER 11: General Program Structure - Visibility and Overloading
Central to the definition of Ada is a concern for the general
structure of a program, the rules defining the visibility of
identifiers at various points of a program, and the facilities offered
for separate compilation. A major goal in this design was to give the
programmer precise control over his name space: the set of names that
he may define and use. It is important to be able to introduce new
names without having to bother about possible conflicts with existing
names. This requires the ability to control the inheritance of names
that are defined in other contexts. As mentioned in chapter 9, the
notion of package is essential to achieve this kind of control.
Another goal was to provide the same visibility rules for all program
units, whether they are separately compiled or not.
The subjects of general program structure and visibility rules are
connected in many ways - in particular because of the possibility of
nesting program units. They also interact with the facilities offered
for separate compilation. This chapter will discuss program structure
and visibility in that order, and also the related subject of
Address any questions or comments to