[Ada Information Clearinghouse]
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]

Copyright ©1986 owned by the United States Government. All rights reserved.
Direct inquiries to the Ada Information Clearinghouse at adainfo@sw-eng.falls-church.va.us.

CHAPTER 11: General Program Structure - Visibility and Overloading

11.1 Introduction

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 overloading.

Address any questions or comments to adainfo@sw-eng.falls-church.va.us.