2 type Comparable is limited interface;
4 type Word (<>) is tagged private;
5 function New_Word (Str : String) return Word;
7 type C_Word (<>) is new Word and Comparable with private;
8 function New_Word (Str : String) return C_Word;
11 type Word (Length : Natural) is tagged record
12 Str : String (1 .. Length) := (others => ' ');
15 type C_Word is new Word and Comparable with null record;