comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Limited_Controlled, orthogonality and related issues
Date: Fri, 19 Jan 2007 01:48:52 -0600
Date: 2007-01-19T01:48:52-06:00	[thread overview]
Message-ID: <qOSdnfM_csoy6i3YnZ2dnUVZ_vShnZ2d@megapath.net> (raw)
In-Reply-To: eoned5$663$1@cernne03.cern.ch

"Maciej Sobczak" <no.spam@no.spam.com> wrote in message
news:eoned5$663$1@cernne03.cern.ch...
...
> In conclusion, my decision to make T and S controlled appeared to not be
> orthogonal to the rest of the package.
>
> What are your thoughts about this?

It's dubious to have two abstractions in the same package. It's a nice
simplification compared to other languages, but it's usually better to have
fewer types in one package rather than more. If T and S were in different
packages, this problem wouldn't happen. Note that one of the packages could
be nested or a child, and that would still have the visibility on the
private part.

Something like:

package Root is
   type S is limited private;
...
end Root;

package Root.Child is
   type T is limited private;
   procedure Do_Something (A : T, B : S);
...
end Root.Child;

Usually, one or the other of the abstractions can be used alone, and that is
the one that belongs in the root.

                    Randy.





  parent reply	other threads:[~2007-01-19  7:48 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-01-18  9:24 Limited_Controlled, orthogonality and related issues Maciej Sobczak
2007-01-18 12:00 ` Ludovic Brenta
2007-01-18 12:33   ` AW: " Grein, Christoph (Fa. ESG)
2007-01-18 16:25   ` Robert A Duff
2007-01-18 17:02 ` Adam Beneschan
2007-01-18 17:16   ` Adam Beneschan
2007-01-19  1:02     ` Robert A Duff
2007-01-19  7:38       ` Maciej Sobczak
2007-01-19  9:05     ` Dmitry A. Kazakov
2007-01-19 17:04       ` Adam Beneschan
2007-01-19  1:01   ` Robert A Duff
2007-01-19  9:57   ` Stephen Leake
2007-01-18 19:03 ` Jeffrey Carter
2007-01-19  7:48 ` Randy Brukardt [this message]
2007-01-19 16:46   ` Adam Beneschan
2007-01-19 15:29 ` Robert A Duff
2007-01-19 16:31   ` Dmitry A. Kazakov
2007-01-19 16:36     ` Robert A Duff
2007-01-19 18:26       ` Dmitry A. Kazakov
2007-01-19 20:17         ` Robert A Duff
2007-01-20 10:14           ` Dmitry A. Kazakov
2007-01-20 14:44             ` 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