with Ada.Text_io; use Ada.Text_io; with Ada.Integer_Text_io; use Ada.Integer_Text_io; procedure enum3 is type Day is (Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday); package Day_IO is new Enumeration_IO(Day); use Day_IO; d: Day; begin for i in Day'Range loop put(i); new_line; end loop; for i in Day'First .. Day'Last loop put(i); new_line; end loop; put(Day'Succ(Monday)); -- What does this do? new_line; d :=Day'Succ(Monday); put(Day'Pred(d)); -- What does this do? new_line; put(Integer'Succ(3)); -- put(Day'Pred(Sunday)); -- Compile error d := Sunday; put(Day'Pred(d)); -- Constraint error end enum3;