-- http://www.cs.nyu.edu/courses/summer07/G22.2110-001/hw06-ada-spec.txt package Int_Stacks is type Int_Stack is private; function Create(Capacity : in Integer) return Int_Stack; procedure Push(S : in Int_Stack; N : Integer); function Pop(S : in Int_Stack) return Integer; function Size(S : in Int_Stack) return Integer; procedure Destroy(S : in out Int_Stack); private type Int_Array_Value is array (Natural range <>) of Integer; type Int_Array is access Int_Array_Value; type Int_Stack_Value is record Size : Integer; Data : Int_Array; end record; type Int_Stack is access Int_Stack_Value; end Int_Stacks;