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: fac41,953e1a6689d791f6 X-Google-Attributes: gidfac41,public X-Google-Thread: 103376,953e1a6689d791f6 X-Google-Attributes: gid103376,public From: Sacha@easynet.fr (Vincent WEBER) Subject: Re: Eiffel and Java + Ada dispatching Date: 1996/10/29 Message-ID: <5563vp$1of@buggy.news.easynet.net>#1/1 X-Deja-AN: 193035746 references: <550sm2$sn1@buggy.news.easynet.net> content-type: Text/Plain; charset=US-ASCII organization: SITA mime-version: 1.0 newsgroups: comp.lang.eiffel,comp.lang.ada Date: 1996-10-29T00:00:00+00:00 List-Id: In article , donh@syd.csa.com.au says... > >Don't mistake Ada's symmetrical syntax for multiple dispatching (binding >driven by more than one parameter). Ada is still single dispatched so for >dispatching operations, the symmetry is syntactic rather than semantic. > Hum... I'm lost, two ada specialists saying two different things :) Let me cote an article from the french magazine "L'Objet" (Vol 1, no 1, Spring 95), by Antoine Bertier (Tomson Software Products) and Pascal Plisson (Alsys). I tried to translate from french to english, please apologize the mistakes if any :) "It is important to note than tags of all the parameters have to be identical at run-time to have the dispatching done to only one effective operation. Therefore there is no priviliged parameter for dispatching as it is the case in other languages. This is an important advantage of Ada 95 's model compared to other languages such as C++, that break the natural symetry of some operations in privileging the parameter used for the dispatching ( et need a way to reference this parameter : "this" in C++). For instance : type TILABLE_WINDOW is new WINDOW; TILE(A,B : TILABLE_WINDOW); -- display the two window one under the other -- in covering all the screen MAIN_WINDOW, MESSAGE_WINDOW : TILABLE_WINDOW; TILE(MAIN_WINDOW, MESSAGE_WINDOW); -- the call is perfectly symetric. the parameters can be swapped -- in C++ we would have had a dissymetric call like: -- MAIN_WINDOW.TILE(MESSAGE_WINDOW); " (end of quotation). Well I think that one of the two parts is wrong :) any comment ?