Move the line that reads: PACKAGE Array_Generic IS to the line immediately following TYPE indexType IS (<>); and you'll have it. The parameters of your generic (or whatever they're officially called) need to come between the generic keyword and your package declaration (or procedure or function definition for generic procedures and functions). Steve (The Duck) "Cephus�" wrote in message news:vgn4spk446g005@corp.supernews.com... > Hello guys, I am getting an error here trying to compile a specification for > an array_generic package I am making for class. Can you guys tell me why it > is not allowing me to use (<>) in the indextype declaration: > > WITH Ada.TEXT_IO; > > GENERIC > > > PACKAGE array_generic IS > > > --declare the private type > > TYPE elementType IS PRIVATE; > > > --declare the index type, the generic array > > TYPE indexType IS (<>); > > TYPE listType IS ARRAY(indexType RANGE <>) OF elementType; > > > PROCEDURE getData(list : OUT listType; infile : IN OUT > > Ada.TEXT_IO.File_Type); > > > PROCEDURE Display(list : IN listType); > > > FUNCTION Find(list : listType; item : elementType) RETURN Boolean; > > > end array_generic; > >