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,3dbf2f325f33ce35 X-Google-Attributes: gid103376,public From: Robert A Duff Subject: Re: Elimination of "use" clauses Date: 1999/07/21 Message-ID: #1/1 X-Deja-AN: 503551830 Sender: bobduff@world.std.com (Robert A Duff) References: <377B5807.88B875E0@cs.york.ac.uk> <7lh74s$v36$1@nnrp1.deja.com> <7ligdq$c8q$1@nnrp1.deja.com> <7ljb4e$na9$1@nnrp1.deja.com> <7ltus1$ah1@dfw-ixnews19.ix.netcom.com> <7mrjus$bet@dfw-ixnews14.ix.netcom.com> <7n0icj$1je@dfw-ixnews21.ix.netcom.com> <7n0ska$h20$1@nnrp1.deja.com> Organization: The World Public Access UNIX, Brookline, MA Newsgroups: comp.lang.ada Date: 1999-07-21T00:00:00+00:00 List-Id: Robert Dewar writes: > In article > I still really dislike "use type". > > Why? You have not clearly stated a reason for this dislike! > > And I certainly have not seen any satisfactory substitute > proposed! Remember the original proposal of the design team was to make the operators visible by default -- you would get the "use type" behavior without writing *anything* extra. This idea was rejected primarily due to upward compatibility concerns, although I think there were some reviewers who just didn't like it (just as some folks here don't like "use type"). I understand the upward compatibility concern, but it really is odd that in Ada ":=" is visible everywhere, but "=" is not. "In" and "not in" are visible everywhere, but "not" is not. I imagine the reasoning of the original design team had to do with which operators are "operators" (in Ada jargon) -- ie user-definable. But that seems like a pretty weak reason, when I normally just want to use the predefined ones. Robert is fond of saying that style rules shouldn't be absolute. Well, I usually agree, but here's one that I think really is absolute: Never, never use dotted notation in a function call if the function name is an operator symbol. If you have something that really needs to be distinguished that carefully, then you shouldn't give it a name like "+". Can anybody think of an example that shows I'm wrong? - Bob -- Change robert to bob to get my real email address. Sorry.