Figure 4.

Shared types.


------------------------------------------------------------ -- The units X, Y, and P in file XYP2.ada can all declare -- objects of type Integer_16 because they can share the -- declaration of that type in STANDARD_INTEGERS. -- XYP2.ada with STANDARD_INTEGERS; use STANDARD_INTEGERS; package X is procedure Fool_With(N : in out Integer_16); end X; with STANDARD_INTEGERS; use STANDARD_INTEGERS; package Y is procedure Produce(Z : out Integer_16); end Y; with X, Y, STANDARD_INTEGERS; use X, Y, STANDARD_INTEGERS; procedure P is W : Integer_16; begin Produce(W); Fool_With(W); end P;