comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Self pointer in limited record
Date: Mon, 3 Sep 2007 16:17:54 +0200
Date: 2007-09-03T16:17:30+02:00	[thread overview]
Message-ID: <9cdmw7k85sey.85sb2t1bjefy$.dlg@40tude.net> (raw)
In-Reply-To: 1188816674.2630.25.camel@kartoffel.vocalweb.de

On Mon, 03 Sep 2007 12:51:14 +0200, Georg Bauhaus wrote:

> On Mon, 2007-09-03 at 09:53 +0200, Dmitry A. Kazakov wrote:
>> On Sun, 02 Sep 2007 23:37:33 +0200, Georg Bauhaus wrote:
>> 
>>> Suppose every package is reusable.
>> 
>> That's the goal.
> 
> Why?

In order to get a better understanding of the problem and solution.

> The "abstract state machines" kind of package (as opposed
> to those packages framing an "abstract data type") do work well
> in Ada program without a type parameter; it doesn't carry
> any additional information of spectacular use.

It is difficult to see how an abstract state machine is not a type. The
very word abstract assumes generalization, reuse and instances. It is types
and generics, the tools to express the idea of instances.

> Why the heck do I have to defend nesting of packages in the first
> place? Is it because some popular languages and UML do not
> usually nest object abstractions inside  procedural artifacts?
> Is it because you do not usually have nesting in C?

Those are very low-level languages. UML is just typeless.

> Is it because GCC (hence GNAT to some extent) was not built
> knowing there would be locally defined things in languages
> such as Ada?

For dynamic scoping there exit blocks. We cannot replace blocks by
packages. So let blocks rule. The only possible reason for nested packages
is the language regularity: if a package can be nested in another package,
then it should be allowed in any declarative scope. Probably even between
"for" and "loop"! (:-)) But if you removed nested packages altogether you
would  probably notice no miss. Because it is only static nesting which is
really needed, and that is covered by the child packages. It could be
otherwise if packages were first-class objects, with abstract packages and
the interfaces of. But that is a story for another day.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



  reply	other threads:[~2007-09-03 14:17 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-04 19:31 Self pointer in limited record Maciej Sobczak
2007-07-05  8:22 ` Dmitry A. Kazakov
2007-07-05 10:35   ` Maciej Sobczak
2007-07-05 11:01     ` Pascal Obry
2007-07-05 11:14     ` Georg Bauhaus
2007-07-05 12:36     ` Dmitry A. Kazakov
2007-08-31 16:47 ` amado.alves
2007-08-31 17:09   ` Pascal Obry
2007-08-31 17:37   ` Adam Beneschan
2007-08-31 18:26   ` Jeffrey R. Carter
2007-08-31 19:33   ` Dmitry A. Kazakov
2007-09-01 13:33     ` Georg Bauhaus
2007-09-01 13:46       ` Dmitry A. Kazakov
2007-09-01 14:15         ` Georg Bauhaus
2007-09-01 16:03           ` Dmitry A. Kazakov
2007-09-01 19:49             ` Georg Bauhaus
2007-09-01 20:09               ` Dmitry A. Kazakov
2007-09-02 21:37                 ` Georg Bauhaus
     [not found]                   ` <re7ei5lc7dzf$.11qtcnh35jmzg$.dlg@40tude.net>
2007-09-03 10:51                     ` Georg Bauhaus
2007-09-03 14:17                       ` Dmitry A. Kazakov [this message]
2007-09-03 15:55                         ` Jean-Pierre Rosen
2007-09-03 19:17                           ` Dmitry A. Kazakov
2007-09-03 19:32                             ` Markus E L
2007-09-03 20:14                             ` Georg Bauhaus
2007-09-04  8:24                               ` Dmitry A. Kazakov
2007-09-04  9:36                                 ` Jean-Pierre Rosen
2007-09-04 10:14                                   ` Dmitry A. Kazakov
2007-09-05 10:49                                 ` Georg Bauhaus
2007-09-05 12:04                                   ` Dmitry A. Kazakov
2007-09-05 13:12                                     ` Jean-Pierre Rosen
2007-09-05 15:10                                       ` Dmitry A. Kazakov
2007-09-05 16:25                                         ` Jean-Pierre Rosen
2007-09-05 19:52                                           ` Dmitry A. Kazakov
2007-09-06  7:19                                             ` Jean-Pierre Rosen
2007-09-06  9:28                                               ` Dmitry A. Kazakov
2007-09-06 11:53                                                 ` Jean-Pierre Rosen
2007-09-06 15:35                                                   ` Dmitry A. Kazakov
2007-09-05 18:31                                     ` Georg Bauhaus
2007-09-05 19:52                                       ` Dmitry A. Kazakov
2007-09-05 21:38                                         ` Georg Bauhaus
2007-09-06  7:37                                           ` Dmitry A. Kazakov
2007-09-06 10:26                                             ` Georg Bauhaus
2007-09-06 12:25                                               ` Dmitry A. Kazakov
2007-09-08  1:27                                               ` Randy Brukardt
2007-09-06  9:14                                         ` Markus E L
2007-09-06  9:48                                           ` Dmitry A. Kazakov
2007-09-04  8:23                             ` Jean-Pierre Rosen
2007-10-31 23:59                           ` adaworks
2007-09-03 20:38                         ` Georg Bauhaus
2007-09-04  8:24                           ` Dmitry A. Kazakov
2007-09-03  7:54             ` Jean-Pierre Rosen
2007-09-01 15:33         ` Markus E L
2007-09-04 14:55           ` Adam Beneschan
2007-09-04 15:09             ` Jean-Pierre Rosen
2007-09-08  1:36               ` Randy Brukardt
2007-09-04 17:31             ` Georg Bauhaus
2007-09-08  1:16     ` Randy Brukardt
2007-09-10 16:27       ` amado.alves
2007-09-10 17:13         ` Adam Beneschan
2007-09-10 19:00         ` Dmitry A. Kazakov
2007-09-11  3:12           ` Randy Brukardt
2007-09-11  9:38             ` Dmitry A. Kazakov
2007-09-12 21:57               ` Randy Brukardt
2007-09-13  8:03                 ` Dmitry A. Kazakov
2007-09-13 21:37                   ` Randy Brukardt
replies disabled

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