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: border2.nntp.dca3.giganews.com!backlog4.nntp.dca3.giganews.com!border2.nntp.dca.giganews.com!nntp.giganews.com!usenet.blueworldhosting.com!feeder01.blueworldhosting.com!feeder.erje.net!eu.feeder.erje.net!news.ecp.fr!news.jacob-sparre.dk!loke.jacob-sparre.dk!pnx.dk!.POSTED!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: Your wish list for Ada 202X Date: Wed, 23 Apr 2014 15:11:40 -0500 Organization: Jacob Sparre Andersen Research & Innovation Message-ID: References: <7f1c01c5-3563-4b94-9831-152dbbf2ecdc@googlegroups.com> <9f156351-e3d0-4d86-b816-1d5e09ee69da@googlegroups.com> <4e3a0e68-1514-4255-9c76-ef8758991ded@googlegroups.com> NNTP-Posting-Host: static-69-95-181-76.mad.choiceone.net X-Trace: loke.gir.dk 1398283901 31005 69.95.181.76 (23 Apr 2014 20:11:41 GMT) X-Complaints-To: news@jacob-sparre.dk NNTP-Posting-Date: Wed, 23 Apr 2014 20:11:41 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.5931 X-RFC2646: Format=Flowed; Original X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157 X-Original-Bytes: 2627 Xref: number.nntp.dca.giganews.com comp.lang.ada:186044 Date: 2014-04-23T15:11:40-05:00 List-Id: "J-P. Rosen" wrote in message news:lj8qid$j23$2@dont-email.me... ... > I would tend to say that the "use" has the benefit to show you that you > used the same name in various contexts with various meanings, and that a > bit of reingeneering might be in order... That's baloney. For instance, if we were to add an exception to Claw, it might very well have the same name as some exception the client (or even another third party) declared somewhere. Why do you think this is a problem? The teams maintaining the subsystems no contact and only happen to be both included in some client program. Our maintenance, however, could break the client program even though there is no intended use of the new entity. That's just wrong. I've come to realize that the problem isn't use-clauses per-se, it's use clauses of things that maintenance can change (specifically when changes to non-overloadable entities can happen). As such, package use clause is acceptable on language-defined packages that don't allow implementation-defined identifiers, but that's it. In contrast, "use all type" (and the more limited "use type") are acceptable anywhere, as their maintenance hazard is much more limited, mostly to things for which having the same name and type profile is dubious anyway. Randy.