*Conan The Librarian
A sublibrary is a Compaq Ada program library that has a parent library. Units in a sublibrary are compiled in the context of both the sublibrary and the parent library. When your current program library is a sublibrary, the units in the sublibrary and parent libraries are visible in a fashion analogous to multiple panes of glass. The units in the sublibrary appear on the top pane, units in the immediate parent library appear on the next pane, units in the parent of the immediate parent appear on the following pane, and so on. Then, units by the same name hide each other such that a unit in a parent library is hidden by a unit of the same name in a closer sublibrary. The search for a unit begins with the closest pane of glass (the sublibrary) and follows through the parent panes until the unit is found. You can use a sublibrary to modify and test a new version of a unit. Any necessary units not in the sublibrary will be obtained from a parent library. When you have completed and tested the modified unit, you can use the ACS MERGE command to copy the new version to the parent library. There is no specific limit on the depth of sublibrary nesting, but the cost of the lookup operation indicates a practical limit of three or four levels. Most ACS commands operate on both program libraries and sublibraries. There are three specific ACS commands for sublibraries: CREATE SUBLIBRARY, DELETE SUBLIBRARY, and MERGE. Many of the ACS library management commands (for example, DELETE UNIT and DIRECTORY) operate only on the current library or sublibrary; a DELETE UNIT command will never delete a unit in some ancestor of the current library. NOTE Sublibraries contain references to their immediate parents, but the parent library contains no references to its sublibraries. You should be careful not to delete a library if it still has sublibraries.