-- extra_sort.ada or extra sort.adb --The extra credit, a main test procedure should be something like this : with GENERIC_SORT_PACKAGE ; -- the package you write with TEXT_IO ; procedure EXTRA_SORT is type ALL_COLOR is ( BLACK, BROWN, RED, ORANGE, YELLOW, GREEN, BLUE, PURPLE, GREY, WHITE ) ; type MY_COLOR is ( RED, ORANGE, YELLOW, GREEN, BLUE, VIOLET ) ; type COLOR_ARRAY is array ( ALL_COLOR range <> ) of MY_COLOR ; MY_ARRAY : COLOR_ARRAY ( ORANGE..BLUE ) := ( VIOLET, RED, YELLOW, BLUE ) ; package MY_SORT is new GENERIC_SORT_PACKAGE ( MY_COLOR , ALL_COLOR, COLOR_ARRAY ) ; package ENUM_IO is new TEXT_IO.ENUMERATION_IO ( MY_COLOR ) ; begin MY_SORT.NNSORT ( MY_ARRAY ) ; for I in MY_ARRAY'RANGE loop ENUM_IO.PUT ( MY_ARRAY ( I ) ) ; end loop ; TEXT_IO.NEW_LINE ; end EXTRA_SORT ;