From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Type naming conventions: Any_Foo
Date: Thu, 5 Dec 2019 22:51:36 +0100
Date: 2019-12-05T22:51:36+01:00 [thread overview]
Message-ID: <qsbu56$18iv$1@gioia.aioe.org> (raw)
In-Reply-To: qsbnqh$j30$1@dont-email.me
On 2019-12-05 21:03, Jeffrey R. Carter wrote:
> On 12/5/19 6:45 PM, Dmitry A. Kazakov wrote:
>>
>> 1. Formal generic types. They are customarily named XXX_Type.
>
> Well chosen names for generic formal types do not end with _Type. The
> PragmAda Reusable Components have many generic formal types, none of
> which end with _Type.
Ada standard library uses _Type, e.g.
generic
type Element_Type (<>) is private;
with function "=" (Left, Right : Element_Type) return Boolean is <>;
package Ada.Containers.Indefinite_Holders
As I said, the rationale is that there is no meaningful name for
Element_Type in the problem space. There is no problem space at all.
Indefinite_Holders is a helper package so general that considered in
isolation it has no meaning.
>> -- I don't want access type, I am required to have it
>
> Please provide examples of being required to have an access type.
There are lots of cases in Ada, you certainly should know that. As a
practical example GtkAda declares all widget types twice:
type Gtk_Button_Record is ...
type Gtk_Button is access all Gtk_Button_Record'Class;
The suffix _Record is an equivalent to _Type.
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
next prev parent reply other threads:[~2019-12-05 21:51 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-12-04 13:56 Type naming conventions: Any_Foo Alejandro R. Mosteo
2019-12-04 14:52 ` Lucretia
2019-12-04 16:42 ` Alejandro R. Mosteo
2019-12-05 10:51 ` AdaMagica
2019-12-05 17:27 ` Jeffrey R. Carter
2019-12-05 17:45 ` Dmitry A. Kazakov
2019-12-05 20:03 ` Jeffrey R. Carter
2019-12-05 21:51 ` Dmitry A. Kazakov [this message]
2019-12-05 23:12 ` Randy Brukardt
2019-12-06 20:20 ` Jeffrey R. Carter
2019-12-07 1:19 ` Randy Brukardt
2019-12-06 20:18 ` Jeffrey R. Carter
2019-12-06 20:35 ` Dmitry A. Kazakov
2019-12-07 0:57 ` Randy Brukardt
2019-12-07 10:28 ` Jeffrey R. Carter
2019-12-07 12:36 ` Niklas Holsti
2019-12-08 12:04 ` Jeffrey R. Carter
2019-12-07 10:13 ` Jeffrey R. Carter
2019-12-07 11:21 ` Dmitry A. Kazakov
2019-12-08 11:55 ` Jeffrey R. Carter
2019-12-08 12:38 ` Dmitry A. Kazakov
2019-12-08 14:31 ` Shark8
2019-12-08 21:58 ` Jeffrey R. Carter
2019-12-09 22:47 ` Shark8
2019-12-07 23:24 ` Jere
2019-12-08 12:14 ` Jeffrey R. Carter
2019-12-09 22:07 ` Randy Brukardt
2019-12-05 19:49 ` Niklas Holsti
2019-12-05 20:47 ` Jeffrey R. Carter
2019-12-05 21:33 ` Niklas Holsti
2019-12-06 11:44 ` Lucretia
2019-12-06 20:23 ` Jeffrey R. Carter
2019-12-06 20:11 ` Jeffrey R. Carter
2019-12-06 20:46 ` Dmitry A. Kazakov
2019-12-06 21:55 ` Niklas Holsti
2019-12-07 10:19 ` Jeffrey R. Carter
2019-12-07 12:05 ` Niklas Holsti
2019-12-08 11:59 ` Jeffrey R. Carter
2019-12-06 8:57 ` AdaMagica
2019-12-06 9:55 ` J-P. Rosen
2019-12-06 15:30 ` Optikos
2019-12-07 3:34 ` Shark8
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox