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-Thread: 103376,131f06967722ab4b X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news1.google.com!news.maxwell.syr.edu!border1.nntp.dca.giganews.com!nntp.giganews.com!local1.nntp.dca.giganews.com!nntp.rcn.net!news.rcn.net.POSTED!not-for-mail NNTP-Posting-Date: Tue, 21 Dec 2004 10:44:00 -0600 Sender: jsa@rigel.goldenthreadtech.com Newsgroups: comp.lang.ada Subject: Re: Ada 2005? References: <1103344064.372396.51420@c13g2000cwb.googlegroups.com> <1n1v6175zrtcc.2g6ewdvu7ei5$.dlg@40tude.net> <1103568585.285484.237450@c13g2000cwb.googlegroups.com> <20xbhf8rjd33.t7dojmf0ky12.dlg@40tude.net> <1nl7gq6tozeyw.146x7at50m0lr.dlg@40tude.net> From: jayessay Organization: Tangible Date: 21 Dec 2004 12:10:21 -0500 Message-ID: User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii NNTP-Posting-Host: 209.6.25.79 X-Trace: sv3-0QB7OQNdeQyIGeyVSkUVa+6o9GPsXk0iyaGB3++MuBTPEGwIARqsdop/diM+FAQW3sKCEGxtFYq6Ff4!8/tC6kBQqKjibDdxMDrjBBfHPoKPCrB147YGKdg0nmOIuIVNooXXDpalRiimamXFI+XRH1QtwrPg X-Complaints-To: abuse@rcn.net X-DMCA-Complaints-To: abuse@rcn.net X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.3.22 Xref: g2news1.google.com comp.lang.ada:7127 Date: 2004-12-21T12:10:21-05:00 List-Id: "Dmitry A. Kazakov" writes: > On 20 Dec 2004 18:44:14 -0500, jayessay wrote: > > > "Dmitry A. Kazakov" writes: > > > >> Copy is a friend, but they are not methods. C++ does not support multiple > >> dispatch. > > > > Yes, but to be clear, neither does Ada. > > Surprisingly, but it does: > > procedure Foo (X, Y : Some_Tagged_Type); -- This is legal > > Though it is very limited and cannot be counted as true multiple dispatch. Right. All the parameters in a dispatching call to such a case must resolve to the _same_ type (IIRC) and so it isn't "multiple" dispatch at all. True multiple dispatch occurs when such profiles can be called where the parameters resolve to different types (often not even in the same branch of the type hierarchy) and the correct method is dynamically invoked (1,2). /Jon 1. For an example of of multiple dispatch, see generic functions, method resolution and dispatch in CLOS: http://www.lispworks.com/reference/HyperSpec/Body/07_f.htm http://www.lispworks.com/reference/HyperSpec/Body/07_ff.htm 2. Overloading gives a kind of static version of this. -- 'j' - a n t h o n y at romeo/charley/november com