From: "Alexandre E. Kopilovitch" <aek@vib.usr.pu.ru>
To: comp.lang.ada@ada-france.org
Subject: Re: U : Unbounded_String := "bla bla bla"; (was: Is the Writing...)
Date: Wed, 15 Oct 2003 20:59:00 +0400 (MSD)
Date: 2003-10-15T20:59:00+04:00 [thread overview]
Message-ID: <mailman.91.1066237341.25614.comp.lang.ada@ada-france.org> (raw)
In-Reply-To: <IZYib.776745$uu5.134839@sccrnsc04>; from "Mark A. Biggar" at Tue, 14 Oct 2003 20:26:16 GMT
Mark A. Biggar wrote:
> > for Unbounded_String'Literal_Conversion use To_Unbounded_String;
> >
> > (I understand that the same thing we can say using new pragma Literal_Conversion:
> >
> > pragma Literal_Conversion (Unbounded_String, To_Unbounded_String);
> >
> > but I think that an attribute is somehow better here).
>
> With either of the above suggestions you probably also need to specify
> the type of literal allowed as well. This would allow for multiple
> different types of literals to be used.
I don't know whether it makes sense to have multiple types of literals for
some private type. Are there appropriate examples?
But anyway, I see no problems with that in proposed notation: you have just
provide appropriate functions for conversion, with the same name (similarly
to usual overloading):
type Flex is private;
for Flex'Literal_Conversion use To_Flex;
function To_Flex(Source : String) return Flex;
function To_Flex(Source : Integer) return Flex;
Compiler will use one of those conversion functions depending on the literal
type it encountered. And I think that any other way to tell the compiler an
information for this purpose can't be better.
My concern is quite opposite: I'd like have a control for blocking such
overloadings (thus denying an opportunity for multiple literal types for a given
type), including those that may emerge within a derivation of a new type;
I don't know whether it is possible - to control that overloading - and it
worries me slightly. Although I don't count all that multiplicity of literal
types as too significant matter.
Alexander Kopilovitch aek@vib.usr.pu.ru
Saint-Petersburg
Russia
next prev parent reply other threads:[~2003-10-15 16:59 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-10-02 18:02 U : Unbounded_String := "bla bla bla"; (was: Is the Writing...) amado.alves
2003-10-03 0:05 ` U : Unbounded String : " Alexander Kopilovitch
2003-10-03 20:46 ` Dmitry A. Kazakov
2003-10-03 9:00 ` U : Unbounded_String := " Preben Randhol
2003-10-03 11:17 ` Jeff C,
2003-10-04 2:49 ` Robert I. Eachus
2003-10-06 23:57 ` Alexandre E. Kopilovitch
2003-10-07 8:51 ` Dmitry A. Kazakov
2003-10-08 19:12 ` Alexandre E. Kopilovitch
2003-10-09 8:42 ` Dmitry A. Kazakov
2003-10-10 20:58 ` Alexander Kopilovitch
2003-10-13 8:35 ` Dmitry A. Kazakov
2003-10-13 21:43 ` Alexandre E. Kopilovitch
2003-10-14 8:09 ` Dmitry A. Kazakov
2003-10-16 9:39 ` Alexandre E. Kopilovitch
2003-10-18 10:57 ` Dmitry A. Kazakov
2003-10-08 23:18 ` Robert I. Eachus
2003-10-09 21:35 ` Alexandre E. Kopilovitch
2003-10-10 18:10 ` Robert I. Eachus
2003-10-11 19:43 ` Alexandre E. Kopilovitch
2003-10-12 5:03 ` Robert I. Eachus
2003-10-13 9:07 ` Dmitry A. Kazakov
2003-10-13 14:36 ` Alexandre E. Kopilovitch
2003-10-13 19:46 ` Robert I. Eachus
2003-10-14 1:35 ` Jeffrey Carter
2003-10-14 17:11 ` Alexandre E. Kopilovitch
2003-10-14 20:26 ` Mark A. Biggar
2003-10-14 20:58 ` Robert I. Eachus
2003-10-15 16:59 ` Alexandre E. Kopilovitch [this message]
2003-10-15 20:38 ` (see below)
2003-10-16 0:31 ` Alexandre E. Kopilovitch
2003-10-16 2:30 ` (see below)
2003-10-16 13:54 ` Alexandre E. Kopilovitch
2003-10-16 14:11 ` (see below)
2003-10-16 8:01 ` Dmitry A. Kazakov
2003-10-17 20:26 ` Randy Brukardt
2003-10-17 21:39 ` Alexandre E. Kopilovitch
2003-10-17 23:03 ` Robert I. Eachus
2003-10-23 21:11 ` Alexandre E. Kopilovitch
-- strict thread matches above, loose matches on Subject: below --
2003-10-03 12:00 amado.alves
2003-10-03 15:54 ` Mark A. Biggar
2003-10-03 20:41 ` Dmitry A. Kazakov
2003-10-03 16:12 amado.alves
2003-10-04 12:16 ` Preben Randhol
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox