From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=unavailable autolearn_force=no version=3.4.4 X-Received: by 10.180.75.13 with SMTP id y13mr3815809wiv.1.1376236146683; Sun, 11 Aug 2013 08:49:06 -0700 (PDT) X-Received: by 10.49.127.207 with SMTP id ni15mr537249qeb.15.1376236146263; Sun, 11 Aug 2013 08:49:06 -0700 (PDT) Path: border1.nntp.dca3.giganews.com!border3.nntp.dca.giganews.com!border1.nntp.dca.giganews.com!nntp.giganews.com!g3no22160744wic.0!news-out.google.com!cc8ni16563wib.1!nntp.google.com!el7no18308310wib.1!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Sun, 11 Aug 2013 08:49:06 -0700 (PDT) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=206.53.78.59; posting-account=ShYTIAoAAABytvcS76ZrG9GdaV-nXYKy NNTP-Posting-Host: 206.53.78.59 References: User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <79ec97f1-b5f8-4b12-b351-262fad685f50@googlegroups.com> Subject: Re: Generics and Child Packages From: sbelmont700@gmail.com Injection-Date: Sun, 11 Aug 2013 15:49:06 +0000 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Original-Bytes: 2328 Xref: number.nntp.dca.giganews.com comp.lang.ada:182965 Date: 2013-08-11T08:49:06-07:00 List-Id: Thank you both for your response. I've ended up splitting all packages int= o separate, unrelated packages that are all generic on all the (common) typ= es, and then having the parent just be instantiations of the others. This = obviously isn't a perfect solution, as the private data is still technicall= y accessible (in that nothing stops a client from instantiating his own ver= sion of the private data), and of course it's a whole lot of meaningless ty= ping, but I guess it's the best of a bad situation. Though I still don't buy the "children of a generic are a generic" explanat= ion. Semantically there is no difference between a nested package and a ch= ild package, so any reason for the latter being "officially" generic (i.e. = requiring instantiation) should also apply to the former, which it clearly = does not. It's senseless that this should be okay: generic package P private package C is ... end C; end P; but that this should be not: generic package P ... end P; private package P.C is ... end P.C; when you consider there is no (conceptual) difference. -sb