La especificación de un paquete requiere una implementación (body) si contiene declaraciones que requieran completarse (por ejemplo, la declaración de una función requiere su desarrollo).
package_body ::=
package body defining_program_unit_name is
declarative_part
[begin
handled_sequence_of_statements]
end [[parent_unit_name.]identifier];
A continuación se muestra el "package body" del paquete "Pila_De_Enteros"
with Unchecked_Deallocation; package body Pila_De_Enteros is
procedure Libera is new Unchecked_Deallocation (Nodo, Pila);
procedure Apilar (P : in out Pila;E: in Integer) is
begin
P := new Nodo'(E,P);
end Apilar;
procedure Desapilar (P : in out Pila) is
Aux: Pila := P;
begin
P := P.Sig;
Libera (Aux);
end Desapilar;
function Cima (P : Pila) return Integer is
begin
return P.Info;
end Cima;
function Es_Vacía (P : Pila) return Boolean is
begin
return P = null;
end Es_Vacía;
end Pila_De_Enteros;