-- gnatmake -o example_ada example_ada.adb with ada.text_io, ada.command_line; use ada.text_io, ada.command_line; procedure example_ada is type colours is (RED, GREEN, YELLOW); type structure is record x : integer := -1; y : natural := 1; end record; escape : constant character := character'val (27); procedure put_colour (colour : colours) is code : integer := colours'pos (colour) + 49; begin put (escape & "[0;3" & character'val (code) & "m"); end put_colour; procedure put_cancel is begin put (escape & "[0m"); end put_cancel; heyo : structure := (-103, 107); begin for colour in colours loop put_colour (colour); put_line ("x = " & integer'image (heyo.x)); put_line ("y = " & natural'image (heyo.y)); heyo.x := heyo.x - 1; heyo.y := heyo.y + 1; put_cancel; end loop; end example_ada;