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,c5e219ab41be8c00 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2000-12-25 00:11:03 PST Path: supernews.google.com!sn-xit-02!sn-xit-03!supernews.com!logbridge.uoregon.edu!news.huji.ac.il!not-for-mail From: "Ehud Lamm" Newsgroups: comp.lang.ada Subject: Re: Multiple Interface Inheritance (was Re: JGNAT and ObjectAdaand...) Date: Mon, 25 Dec 2000 10:06:28 +0200 Organization: The Hebrew University of Jerusalem Message-ID: <926vah$iu4$1@news.huji.ac.il> References: <3A3E8A9E.D12673A7@libertysurf.fr> <91nur2$ulk$1@nnrp1.deja.com> <3A3F8651.7CDB13B6@averstar.com> <3A410EC1.106C74CC@averstar.com> <3A413FBB.3E852649@averstar.com> NNTP-Posting-Host: di3-104.dialin.huji.ac.il X-Trace: news.huji.ac.il 977731730 19396 132.64.13.104 (25 Dec 2000 08:08:50 GMT) X-Complaints-To: abuse@news.huji.ac.il NNTP-Posting-Date: Mon, 25 Dec 2000 08:08:50 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.00.2014.211 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2014.211 Xref: supernews.google.com comp.lang.ada:3391 Date: 2000-12-25T10:06:28+02:00 List-Id: Brian Rogoff wrote in message news:Pine.BSF.4.21.0012241221330.24815-100000@shell5.ba.best.com... > On Wed, 20 Dec 2000, Tucker Taft wrote: > > It was not responding for a while, but it seems better now. > > I was able to find out that it is AI 251 (it badly needs an > > example, but otherwise is pretty complete). > > > > Here is a direct link to the most recent version of this AI: > > > > http://www.ada-auth.org/cgi-bin-acats/cvsweb.cgi/AIs/AI-00251.DOC?rev=1.3 > > I've been pondering this a little and while it seems to capture the desired > Java functionality I wonder if it is possible to aim higher and get some of > the additional power of the old GNU C++ signature feature set, namely the > ability to get the signature (abstract interface type in the AI terminology) > of an existing class (tagged type) and use this anonymous signature. Maybe > a 'Interface attribute or somesuch corresponding to the sigof of GNU C++. > As it never made it into a working GNU C++ that I used I can't say much > about its use in practice but Sather had some similar capabilities. > My feeling is that as a porposal for an extension to the existing language, this seems quite nice (I didn't consider all the details yet, so I don't want to say anything more definite/interesting). To really achive the state-of-the-art interface support, I think many many features in the language should be redesigned, and I think doing this is unreasonable. These ideas are best left for a new language to implement. Notice that Ada is not orthogonal when it comes to interfaces: there are many kinds of Ada abstractions, each with its own kind of interface. (I seem to remember an MRT document listing some 7 methods of building Ada ADTs). >From where I am standing, the importance of interface/implemention seperation and the importance of SPECIFYING good interface is so high, that I'd prefer a lanuage more refined in its OVERALL apporahc to interfaces. (e.g, supose we have 'Interface. What operations are allowed on this? Are interface first class? I guess not) It is quite problematic for a multi-paradigm language like Ada to handle such issues consistently. For example, just consider all the work about protected types and inheritance. Both supply interfaces - it is just that the interaction of these causes so much trouble... (and remember: we still want to be able to reason about interfaces, with out relying on impl. details). All these fascinating topics, IMO, but I think for Ada0X we must be modest. Ada9X did a wonderful job incorporating inheritance into Ada, and I'd love to see a solution of this quality to these issues. But even the best solutions (and the AI does indeed look convincing) still seem to me to be limited in scope. I am afraid I can't offer something better (or even somethng that SEEMS better), without proposing a major change in the language, and this is simply not in the cards... -- Ehud Lamm mslamm@mscc.huji.ac.il http://lambda.weblogs.com <== The Programming Languages Weblog