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=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,9768c08202fdbbb1,start X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2002-11-08 01:26:32 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!bloom-beacon.mit.edu!news-out.cwix.com!newsfeed.cwix.com!newsfeed.icl.net!newsfeed.fjserv.net!newsfeed.freenet.de!newsfeed.stueberl.de!news-peer.gradwell.net!not-for-mail Newsgroups: comp.lang.ada From: porton@ex-code.com (Victor Porton) Date: Fri, 08 Nov 2002 14:20:23 +0500 Subject: Let's change semantics of "use type" Mime-Version: 1.0 X-Newsreader: knews 1.0b.1 Content-Type: text/plain; charset=us-ascii Message-ID: <3dcb8347$0$299$bed64819@news.gradwell.net> NNTP-Posting-Date: 08 Nov 2002 09:26:31 GMT NNTP-Posting-Host: 195.149.39.13 X-Trace: 1036747591 news.gradwell.net 299 mail2news/195.149.39.13 X-Complaints-To: news-abuse@gradwell.net Xref: archiver1.google.com comp.lang.ada:30571 Date: 2002-11-08T09:26:31+00:00 List-Id: I am suggesting (for the next Standard) to change the semantics of "use type" so that it would make visible not only primitive _operators_, but all primitive _operations_. It seems (at the first glance) that changing Standard such the way would not make any correct program incorrect. (However it would make some current programs not compilable. If this is too bad, it can be instead denoted as "use all type;" for using all operations, not only operators.) The rationale is that this is a convenient way for dealing with a type imported from a package without the need of many rename directives. These directives may make a long list and are "dirty" for both writing and reading. (Reading this list one may not understand for exactly what is present an item of the list and so not know (without experiment with a compiler) whether this item can be removed without breaking the program. So in certain sense the current Ada is not perfectly readable.) With "use all type" programmers will less tend to write multi-level designators which are both unreadable (especially when there are several such designators in an expression) and error-prone as one may forget y in x.y.z (mistakedly writing x.z) and get wrong behavior of the program.