From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Generic package parameters not externally visible : what's the rational ?
Date: Tue, 3 Nov 2009 10:59:55 +0100
Date: 2009-11-03T10:59:55+01:00 [thread overview]
Message-ID: <1ueb9d0h9nmm3$.11lt1wv42yxvt.dlg@40tude.net> (raw)
In-Reply-To: 19ee7f4e-513a-4caf-9822-4610ff2155b2@m16g2000yqc.googlegroups.com
On Tue, 3 Nov 2009 00:25:24 -0800 (PST), Hibou57 (Yannick Duch�ne) wrote:
> On 31 oct, 10:14, "Dmitry A. Kazakov" <mail...@dmitry-kazakov.de>
> wrote:
>> Note that a generic child package can use formals of its parent. That is
>> the case why your proposal about visibility is so important in my eyes. It
>> is an *obvious* language bug.
>
> A step to the side, still related to your comment ...
>
> Although related by derivation, my packages were all along each others
> (I'm experimenting, so I try many things before I choose and know
> why). I've started to rework all package, to use child package when
> possible.
>
> It seems it saves a lot to do so : shared generic parameters, so less
> generic parameters needed for instantiation.
There is also a competitive way of "generic interface package", so to say.
That is when generic parameters are passed with another generic package
rather than directly. E.g.:
generic
type T is private;
with function "+" (Left, Right : T) return T;
package Generic_Interface is
-- No own declarations, the package promotes its formal parameters
-- to other packages
end Generic_Interface;
with Generic_Interface;
generic
with package Parameters is new Generic_Interface (<>);
package P is
-- Here we can define some further operations on Parameters.T and
-- other types based on Parameters.T
end P;
> Generic package hierarchy is nicer than I previously supposed
Yes, but beware that there are *three* hierarchies:
1. one of the generic packages
2. of the instances of generic packages (you can instantiate a generic
child of generic A as a non-generic child of non-generic B)
3. of nested packages (you can instantiate within a package)
A creative use of 1-3 may create a perfect mess out of your program...
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
next prev parent reply other threads:[~2009-11-03 9:59 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-26 8:58 Generic package parameters not externally visible : what's the rational ? Hibou57 (Yannick Duchêne)
2009-10-26 11:05 ` Ludovic Brenta
2009-10-26 15:02 ` Robert A Duff
2009-10-27 1:06 ` Hibou57 (Yannick Duchêne)
2009-10-26 14:56 ` Robert A Duff
2009-10-27 3:03 ` Hibou57 (Yannick Duchêne)
2009-10-27 21:08 ` Randy Brukardt
2009-10-27 21:36 ` Jeffrey R. Carter
2009-10-27 22:03 ` Hibou57 (Yannick Duchêne)
2009-10-27 22:19 ` Jeffrey R. Carter
2009-10-28 19:07 ` Randy Brukardt
2009-10-29 12:18 ` Hibou57 (Yannick Duchêne)
2009-10-29 22:56 ` Randy Brukardt
2009-10-30 0:10 ` Hibou57 (Yannick Duchêne)
2009-10-27 22:04 ` Hibou57 (Yannick Duchêne)
2009-10-27 23:37 ` Robert A Duff
2009-10-27 23:41 ` Jeffrey R. Carter
2009-10-27 23:34 ` Robert A Duff
2009-10-28 2:19 ` Hibou57 (Yannick Duchêne)
2009-10-28 19:12 ` Randy Brukardt
2009-10-29 7:34 ` Stephen Leake
2009-10-29 12:21 ` Hibou57 (Yannick Duchêne)
2009-10-29 13:10 ` AdaMagica
2009-10-29 15:11 ` Georg Bauhaus
2009-10-29 19:28 ` Jeffrey R. Carter
2009-10-29 20:27 ` Georg Bauhaus
2009-10-30 10:30 ` Stephen Leake
2009-10-30 17:53 ` Ludovic Brenta
2009-10-31 2:10 ` Hibou57 (Yannick Duchêne)
2009-10-30 5:19 ` Hibou57 (Yannick Duchêne)
2009-10-28 9:09 ` Dmitry A. Kazakov
2009-10-28 19:19 ` Randy Brukardt
2009-10-29 8:36 ` Dmitry A. Kazakov
2009-10-29 23:03 ` Randy Brukardt
2009-10-30 8:51 ` Dmitry A. Kazakov
2009-10-30 10:25 ` Stephen Leake
2009-10-30 19:32 ` Dmitry A. Kazakov
2009-10-31 2:06 ` Hibou57 (Yannick Duchêne)
2009-10-31 9:14 ` Dmitry A. Kazakov
2009-11-03 8:25 ` Hibou57 (Yannick Duchêne)
2009-11-03 9:59 ` Dmitry A. Kazakov [this message]
2009-11-05 10:38 ` Hibou57 (Yannick Duchêne)
2009-11-05 11:00 ` Dmitry A. Kazakov
2009-11-05 12:16 ` Hibou57 (Yannick Duchêne)
2009-11-05 14:09 ` Dmitry A. Kazakov
2009-11-06 12:19 ` Hibou57 (Yannick Duchêne)
2009-11-06 13:27 ` Dmitry A. Kazakov
2009-10-31 2:08 ` Hibou57 (Yannick Duchêne)
2009-10-31 12:44 ` Stephen Leake
2009-11-01 11:37 ` Dmitry A. Kazakov
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox