From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: subprogram must not be deeper than access type
Date: Tue, 27 Sep 2011 09:52:09 +0200
Date: 2011-09-27T09:52:09+02:00 [thread overview]
Message-ID: <10bj41auuxi17$.42qw3wdubqn3.dlg@40tude.net> (raw)
In-Reply-To: j5ro7t$dji$1@dont-email.me
On Tue, 27 Sep 2011 07:50:54 +0200, J-P. Rosen wrote:
> Le 26/09/2011 21:30, Dmitry A. Kazakov a �crit :
>> I'd like to have anonymous types in record components. It is annoying not
>> to be able to write:
>>
>> type Foo is record
>> Nested : record
>> end record;
>> List : array (...) of ...;
>> end record;
>>
> "Annoying to write" was never an issue in Ada, where we favor ease of
> reading over ease of writing.
Forward type declarations of types used only for components (and BTW, for
generic instances) are very annoying especially for reading.
> If your Nested component represents a
> logical entity of your problem domain, it deserves a name (i.e. a type).
> And what could you do with this component? Without a type name, no
> subprogram could operate on it.
It is meant only to have large record types structured. E.g.
type Buffer_Implementation (Size : Positive) is record
Position : record
In_Index : ...;
Out_Index : ...;
...
end record;
Consumer_Notification : record
...
end record;
Data : array (1..Size) of Octet;
...
No special meaning other than grouping other components.
Compare it with declare-begin-end blocks they too have no names and have no
identifiable counterpart in the domain, just an implementation detail.
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
next prev parent reply other threads:[~2011-09-27 7:51 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-09-25 9:02 subprogram must not be deeper than access type Natasha Kerensikova
2011-09-25 14:04 ` Oliver Kleinke
2011-09-26 9:35 ` Natasha Kerensikova
2011-10-03 23:30 ` Yannick Duchêne (Hibou57)
2011-10-03 23:39 ` Adam Beneschan
2011-10-04 0:52 ` Yannick Duchêne (Hibou57)
2011-10-04 1:48 ` Yannick Duchêne (Hibou57)
2011-09-25 14:23 ` Robert A Duff
2011-09-25 15:03 ` georg bauhaus
2011-09-26 9:45 ` Natasha Kerensikova
2011-09-26 13:43 ` Robert A Duff
2011-09-26 14:20 ` Dmitry A. Kazakov
2011-09-26 16:15 ` Robert A Duff
2011-09-26 19:30 ` Dmitry A. Kazakov
2011-09-27 0:41 ` Robert A Duff
2011-09-27 8:58 ` Dmitry A. Kazakov
2011-10-04 4:19 ` Yannick Duchêne (Hibou57)
2011-09-27 5:50 ` J-P. Rosen
2011-09-27 7:52 ` Dmitry A. Kazakov [this message]
2011-10-04 4:26 ` Yannick Duchêne (Hibou57)
2011-10-04 7:58 ` Dmitry A. Kazakov
2011-10-04 15:10 ` Georg Bauhaus
2011-10-04 15:34 ` Dmitry A. Kazakov
2011-10-04 15:49 ` Yannick Duchêne (Hibou57)
2011-10-04 16:04 ` Dmitry A. Kazakov
2011-10-04 15:44 ` Yannick Duchêne (Hibou57)
2011-10-04 16:05 ` Georg Bauhaus
2011-10-04 16:47 ` Yannick Duchêne (Hibou57)
2011-10-04 15:41 ` Yannick Duchêne (Hibou57)
2011-09-26 18:59 ` Jeffrey Carter
2011-09-27 0:35 ` Robert A Duff
2011-10-04 4:30 ` Yannick Duchêne (Hibou57)
2011-10-04 18:40 ` Jeffrey Carter
2011-09-26 14:29 ` Georg Bauhaus
2011-09-26 15:31 ` Georg Bauhaus
2011-10-04 4:35 ` Yannick Duchêne (Hibou57)
2011-10-04 4:13 ` Yannick Duchêne (Hibou57)
2011-09-25 17:16 ` Jeffrey Carter
2011-09-25 21:53 ` Robert A Duff
2011-09-26 9:25 ` Georg Bauhaus
2011-09-26 23:00 ` Randy Brukardt
2011-09-27 0:34 ` Robert A Duff
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox