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,1116ece181be1aea X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-09-16 18:00:52 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!headwall.stanford.edu!newshub.sdsu.edu!elnk-nf2-pas!newsfeed.earthlink.net!wn14feed!wn13feed!worldnet.att.net!204.127.198.203!attbi_feed3!attbi.com!rwcrnsc52.ops.asp.att.net.POSTED!not-for-mail Message-ID: <3F67B21F.7080303@attbi.com> From: "Robert I. Eachus" User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.0.2) Gecko/20021120 Netscape/7.01 X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Is the Writing on the Wall for Ada? References: <3F5F7FDC.30500@attbi.com> <3F6079A9.6080108@attbi.com> <568ede3c.0309110925.57d07508@posting.google.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit NNTP-Posting-Host: 24.34.139.183 X-Complaints-To: abuse@comcast.net X-Trace: rwcrnsc52.ops.asp.att.net 1063760446 24.34.139.183 (Wed, 17 Sep 2003 01:00:46 GMT) NNTP-Posting-Date: Wed, 17 Sep 2003 01:00:46 GMT Organization: Comcast Online Date: Wed, 17 Sep 2003 01:00:46 GMT Xref: archiver1.google.com comp.lang.ada:42591 Date: 2003-09-17T01:00:46+00:00 List-Id: Dmitry A. Kazakov wrote: > MII suffers same problems as full MI. When you add an interface it may > conflict with other interfaces. Adding an interface several times you > have the diamond problem: whether same interfaces are mapped to one > interface of the new type or to different cloned interfaces. The current write-up deals with the diamond problem as follows: If you inherit operations from two types with the signature, if one is from the (direct) parent, that is the one used. If the two are from different interfaces, then calling that operation is ambiguous. So you can get around the diamond problem by directly inheriting from one interface and only inheriting the interface of the other. Yes, it isn't perfect, but there is one full solution to the problem. (With mix-ins, the order of inheritance determines which operation is visible for the final type, but you can alway either use renaming to make the hidden operation visible, or call it directly using type conversions.) -- Robert I. Eachus "As far as I'm concerned, war always means failure." -- Jacques Chirac, President of France "As far as France is concerned, you're right." -- Rush Limbaugh