Pakete sind die meistbenutzte Übersetzungseinheit in Ada (vgl. dazu auch Kapitel 11). Man kann etwa den Implementationsteil eines Paketes unabhängig von seinem Spezifikationsteil übersetzen. Durch die With-Anweisung wird jedoch einem Ada-Programm, das aus mehreren Paketen besteht, eine bestimmte Übersetzungsreihenfolge aufgezwungen. Es müssen alle in der With-Anweisung eines Paket-Teiles stehenden Pakete vor diesem Paket-Teil übersetzt werden. Wir müssen unser obiges Beispiel in der Reihenfolge:
A (Spez.), A (Body), B (Spez.), B (Body)übersetzen. Die Übersetzung von A (Body) kann allerdings auch später erfolgen.
Allgemein gesprochen induzieren die With-Anweisungen eine Ordnung auf die einzelnen Paket-Teile (Spezifikationen und Bodies), die als gerichteter, azyklischer Graph dargestellt werden können muß. Falls ein Zyklus in den Abhängigkeiten auftaucht, ist das Ada-Programm ungültig.