From: Natasha Kerensikova <lithiumcat@gmail.com>
Subject: Re: subprogram must not be deeper than access type
Date: Mon, 26 Sep 2011 09:45:53 +0000 (UTC)
Date: 2011-09-26T09:45:53+00:00 [thread overview]
Message-ID: <slrnj80ieh.i18.lithiumcat@sigil.instinctive.eu> (raw)
In-Reply-To: 818752663338654817.822041rmhost.bauhaus-maps.arcor.de@news.arcor.de
Hello,
On 2011-09-25, georg bauhaus <rmhost.bauhaus@maps.arcor.de> wrote:
> Natasha Kerensikova <lithiumcat@gmail.com> wrote:
>> type String_Accumulator_Linked_List (Builder : Accumulator_Builder)
>> is new String_Accumulator_Stack with private;
>
> As an aside, I'd consider an alternative type
> String_Accumulator_Linked_List that
> has a stack, rather than being a stack.
> From this choice a more flexible design
> might follow.
That's a great idea, thanks a lot for pointing it out. I still don't
intend to change my String_Accumulator_Linked_List, since it's goal is
really to be the simplest possible implementation of the interface, only
to have some real code to run.
However when things get more mature, I will probably want something more
flexible and easier to integrate with other components, and that's when
your suggestion will certainly be useful.
> Also, whenever an anonymous type
> seems to solve a design problem,
> something might be in bad shape
> at a higher level.
Actually I wonder whether there is a design problem at all.
The thing is, I'm still a beginner in Ada and probably also in real
software engineering. I'm probably tainted by more than a decade of
practising C, following almost a decade of 386 assembly as my first
programming language. I genuinely don't see anything wrong with the
design, but I might very well be missing something, hence my exposing it
to c.l.a. criticism.
Moreover, now that a solution is known, I'm still not convinced about a
problem in the design: the use of named access to subprogram types is
not required by the design, and it is not even required by the
implementation. I named the access type only to make the program text
clearer (for humans).
Having read the Rationale 2005, I understand now that naming an access
type is far from being equivalent to text replacement. A slightly less
readable program text is a small price to pay for the extra safety.
Thanks for your comments,
Natasha
next prev parent reply other threads:[~2011-09-26 9:45 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 [this message]
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
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