with Ada.Assertions; use Ada.Assertions; with Ada.Integer_Text_IO; use Ada.Integer_Text_IO; with Ada.Text_IO; use Ada.Text_IO; with Stack; procedure Main is package IntStack is new Stack (Integer); S : IntStack.Stack; Val : Integer; begin Put_Line ("Hello world!"); for I in 1 .. 5 loop IntStack.Push (S, I); end loop; while not IntStack.Empty (S) loop Assert (IntStack.Pop (S, Val)); Put_Line (Val'Image); end loop; end Main;