comp.lang.ada
 help / color / mirror / Atom feed
From: "Jeffrey R. Carter" <spam.jrcarter.not@spam.not.acm.org>
Subject: Re: ANN: Introducing AdaBase - Thick database bindings for Ada
Date: Sat, 21 May 2016 11:20:20 -0700
Date: 2016-05-21T11:20:20-07:00	[thread overview]
Message-ID: <nhq8mf$a09$1@dont-email.me> (raw)
In-Reply-To: <6784b2fe-96cf-46cb-b3a6-00a0e2f2bf16@googlegroups.com>

On 05/21/2016 09:54 AM, jrmarino wrote:
 >
> I left the prefixes on the field_types enumeration because the "there's
> no reason for it" assertion was obviously false (regardless if the solution
> is universally liked, there was definitely a reason for it).

Now that I've looked at this in a little greater detail, I see that the 
enumeration type in question is in a different package from the other types that 
you want to have the same names as the enumeration literals, and so they have 
different complete names. For example

package P1 is
    type Field_Size_ID is (One_Byte, Two_Bytes);
end P1;

package P1.P2 is
    type One_Byte  is mod 2 **  8;
    type Two_Bytes is mod 2 ** 16;
end P1.P2;

package P1.P2.P3 is
    type R (Kind : Field_Size_ID := P1.One_Byte) is record
       case Kind is
       when P1.One_Byte =>
          Small : One_Byte := 0;
       when P1.Two_Bytes =>
          Big : Two_Bytes := 0;
       end case;
    end record;
end P1.P2.P3;

compiles fine. It seems the only reason for the prefixes on the enumeration 
literals was a desire to avoid the extra typing required to prefix the literals 
with the pkg name.

-- 
Jeff Carter
"Son of a window-dresser."
Monty Python & the Holy Grail
12


  reply	other threads:[~2016-05-21 18:20 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-13 20:37 ANN: Introducing AdaBase - Thick database bindings for Ada jrmarino
2016-05-13 21:44 ` Per Sandberg
2016-05-13 23:37   ` Randy Brukardt
2016-05-14  6:59     ` gautier_niouzes
2016-05-16 20:06       ` Randy Brukardt
2016-05-17  7:35         ` gautier_niouzes
2016-05-17  9:38           ` G.B.
2016-05-17 23:29             ` Randy Brukardt
2016-05-29  3:45     ` David Botton
2016-05-14  6:22 ` Dmitry A. Kazakov
2016-05-14 10:41   ` jrmarino
2016-05-14 11:31     ` Björn Lundin
2016-05-14 17:11     ` Jeffrey R. Carter
2016-05-14 12:22 ` AdaMagica
2016-05-14 13:27   ` Georg Bauhaus
2016-05-14 13:50     ` Dmitry A. Kazakov
2016-05-15 13:59     ` Shark8
2016-05-15 17:03       ` Björn Lundin
2016-05-19 15:50         ` Shark8
2016-05-15 14:23     ` AdaMagica
2016-05-15 19:38       ` jrmarino
2016-05-16 19:45 ` Olivier Henley
2016-05-18 17:13 ` Anh Vo
2016-05-19  8:16   ` jrmarino
2016-05-20 15:18 ` Martin
2016-05-20 17:44   ` jrmarino
2016-05-20 20:36     ` Jeffrey R. Carter
2016-05-20 23:44       ` jrmarino
2016-05-21  1:12         ` Jeffrey R. Carter
2016-05-21  7:01           ` jrmarino
2016-05-21 10:37             ` Georg Bauhaus
2016-05-21 17:49             ` Jeffrey R. Carter
2016-05-21 18:14               ` jrmarino
2016-05-21  5:11         ` J-P. Rosen
2016-05-21  6:43           ` jrmarino
2016-05-21 11:09             ` J-P. Rosen
2016-05-21 16:54 ` jrmarino
2016-05-21 18:20   ` Jeffrey R. Carter [this message]
2016-05-21 18:44     ` jrmarino
2016-05-22 21:35       ` Martin
2016-05-23  0:33         ` brbarkstrom
2016-05-23 11:40           ` Martin
2016-05-23 12:46             ` AdaMagica
2016-05-23 22:03               ` Martin
2016-05-24  7:28                 ` jrmarino
2016-05-24  9:09                   ` J-P. Rosen
2016-05-24 15:27                   ` Simon Wright
2016-05-23 20:28             ` Jeffrey R. Carter
2016-05-22 15:06 ` brbarkstrom
2016-05-24 10:16 ` Graham Stark
2016-05-26 22:59 ` jrmarino
2016-05-30  9:19 ` karsar
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox