with  ada.integer_text_io;
    procedure showAnonymous is
   
      type b is array(1..10) of integer;
   
      a : array (1..10) of integer;
      myB, myC : b;
   
   begin
      for i in 1..10 loop
         myB(i) := i;
         a(i) := 10 - i;
      end loop;
   
      myC := myB;  -- this statement works because myC and myB are the same type
      myC := a;    -- this statement is illegal because myC and a are not the same type
                -- a is variable of an anonymous type and myC is a variable of a named type
                -- variables of anonymous types are not type compatible with variables of
                -- any other type
                
      for i in 1..10 loop
         ada.integer_text_io.put(myC(i),5);
      end loop;  
   
   end showAnonymous;
-- b is a named type
-- a is an anonymous type variable
-- a and b are NOT type compatible 
-- myB and myC ARE type compatible because they are variables of the same named type
-- if you want to pass an array into a sub-rogram, it cannot be an anonymous type
--    it must be a named type