1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
generic type Index_T is (<>); type Element_T is private; type Array_T is array (Index_T range <>) of Element_T; with function ">"(X, Y : in Element_T) return Boolean is <>; package Insertion is procedure Sort(Arr : in out Array_T); end Insertion;