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.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,ad62d6b425bebfec X-Google-Attributes: gid103376,public From: bobduff@world.std.com (Robert A Duff) Subject: Re: "use" clauses and Ada 95 OOP Date: 1996/07/26 Message-ID: #1/1 X-Deja-AN: 170582807 references: <4t7vet$ot8@newsbf02.news.aol.com> organization: The World Public Access UNIX, Brookline, MA newsgroups: comp.lang.ada Date: 1996-07-26T00:00:00+00:00 List-Id: In article <4t7vet$ot8@newsbf02.news.aol.com>, JamesS1889 wrote: >Not to mention that without the USE clause, the visibility you get is >misleading. Yep, Robert, I do believe you "have it surrounded". Not sure what you mean, there. Normally, when dispatching, you have NO visibility on what you're calling, whether or not you use use. So, either way, a programmer who wants to dispatch has to understand that the thing being called has nothing whatsoever to do with what is visible. >Just out of curiosity, though. Somebody said that WG9 considered making >all operators obsolete (addressing a slightly different issue). Obsolete? Heh? I think I said that the MRT proposed that primitive operators should be directly visible by default. WG9 didn't like that, partly because of upward compatibility concerns. So we invented "use type" as a compromise. It's kind of hard to explain to a beginner why: while X /= null loop ... doesn't work, because "/=" is not directly visible. But null is visible everywhere. Weird. OK, it has to do with the fact that "/=" can be defined by the user (well, "=" can, and then you get "/=" for free). The beginner reasonably says, "But I *never* want to redefine operators." >... I was >wondering if WG9 considered do what I misunderstood Robert Eachus to be >implying, namely, make "use type" apply also to primitive subprograms of a >tagged type? No. As far as I know, nobody ever proposed that. Anyway, that's pretty close to what a plain old use-package clause does. - Bob