comp.lang.ada
 help / color / mirror / Atom feed
From: Ludovic Brenta <ludovic@ludovic-brenta.org>
Subject: Re: Generic package parameters not externally visible : what's the rational ?
Date: Mon, 26 Oct 2009 04:05:38 -0700 (PDT)
Date: 2009-10-26T04:05:38-07:00	[thread overview]
Message-ID: <92abb636-b3a0-429b-b6b4-03b6abe2d206@x15g2000vbr.googlegroups.com> (raw)
In-Reply-To: d31a3f23-975d-4ae7-954a-82055b50f172@31g2000vbf.googlegroups.com

Yannick Duchêne wrote on comp.lang.ada:
> Hello ghosts out there,
>
> 24h without even a single post on comp.lang.ada... I hope every body
> is Ok.
>
> Still the time for my two cents of the day : parameters of generic
> packages are not externally visible. I use to read in a few places on
> the web, this is so to preserve type privacy, but without any examples
> which could illustrate this view.
>
> What's the rational behind this ?
>
> I like to do something like this to work around this :
>
> generic
>
>    Parameter_Type is (<>);
>
>    -- Other generic parameters ...
>
> package Generic_Package is
>
>    -- Give external access to generic parameters which are not visible
> otherwise.
>
>    subtype Formal_Parameter_Type is Parameter_Type
>
>    -- The same for other generic parameters ...
>
>    -- Remaining of the package ...
>
> end Generic_Package;
>
> I feel it is oftenly useful to have external access to generic
> parameters : it is more clear and more consistent than making
> reference to stuffs from different source (finally, the package
> instance is a place where all these references are available, so why
> not use these). I feel this is especially useful when other generic
> packages are instantiated using the same parameters used to
> instantiate another generic packages.
>
> That's why I was wondering about the rational which is underlying to
> this restriction (the one which disallows a generic parameter to be
> externally visible).
>
> Have a nice time (if every one is Ok).

(I'm OK, thank you, and qute busy with the Debian Policy for Ada and
gnat-4.4....)

I think this is at least consistent: the values of subprogram
parameters are also invisible outside the subprogram. Making "in out"
generic formal variables visible outside the generic would be
dangerous IMHO. As for generic formal types, subprograms, packages and
constants... why not.

--
Ludovic Brenta.



  reply	other threads:[~2009-10-26 11:05 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 [this message]
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
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