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 autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!feeder.eternal-september.org!nntp-feed.chiark.greenend.org.uk!ewrotcd!newsfeed.xs3.de!io.xs3.de!news.jacob-sparre.dk!franka.jacob-sparre.dk!pnx.dk!.POSTED.rrsoftware.com!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: some trivial questions? Date: Fri, 17 Nov 2017 19:14:23 -0600 Organization: JSA Research & Innovation Message-ID: References: <6a5368c5-f015-4dcb-9291-e77b40fa1bf1@googlegroups.com> Injection-Date: Sat, 18 Nov 2017 01:14:24 -0000 (UTC) Injection-Info: franka.jacob-sparre.dk; posting-host="rrsoftware.com:24.196.82.226"; logging-data="15995"; mail-complaints-to="news@jacob-sparre.dk" X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.5931 X-RFC2646: Format=Flowed; Response X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.7246 Xref: feeder.eternal-september.org comp.lang.ada:48974 Date: 2017-11-17T19:14:23-06:00 List-Id: "Dmitry A. Kazakov" wrote in message news:oum6qv$1bdr$1@gioia.aioe.org... > On 17/11/2017 01:51, Randy Brukardt wrote: ... >> As far as "use" clauses code, package use clauses are always a >> maintenance >> hazard as they make non-overloadable things visible. > > Which would be good as it allowed earlier detection of errors. However the > argument is obviously bogus because any name change is a maintenance > problem regardless the length of that name. Changing names of overloadable things is not a maintenance hazard unless the things have the exact same profile. (And that's a problem by any definition, having two identical entities with different meanings.) An alternative fix for this problem would be to make more things (preferably all things) overloadable. But that would cause some existing Ada code to silently change meaning, which is considered unacceptable. (It also would require some sort of meta-types, which I'd rather not try to get into, but that's a detail.) So it's not going to happen for Ada. Use type clauses (and prefix notation) don't have these maintenance problems (they only operate on overloadable entities), so I think they should be preferred to package use. Randy.