

See also

 Related task: Comments
 Related task: Here_document


with Ada.Text_Io; use Ada.Text_Io;
 
generic
   SortName : in String;
   type DataType is (<>);
   type SortArrayType is array (Integer range <>) of DataType;
   with procedure Sort (SortArray : in out SortArrayType;
                        Comp, Write, Ex : in out Natural);
 
package Instrument is
   -- This generic package essentially accomplishes turning the sort
   --  procedures into first-class functions for this limited purpose.
   --  Obviously it doesn't change the way that Ada works with them;
   --  the same thing would have been much more straightforward to
   --  program in a language that had true first-class functions
 
   package Dur_Io is new Fixed_Io(Duration);
 
   procedure TimeSort (Arr : in out SortArrayType);
 
   procedure Put;
 
   procedure Put (File : in out File_Type);
 
end Instrument;