comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Ada 2005?
Date: Tue, 21 Dec 2004 18:12:55 +0100
Date: 2004-12-21T18:12:55+01:00	[thread overview]
Message-ID: <1vj2pp9437gal.1b1lyqe3o973k$.dlg@40tude.net> (raw)
In-Reply-To: m3652vy3uq.fsf@rigel.goldenthreadtech.com

On 21 Dec 2004 12:10:21 -0500, jayessay wrote:

> "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> writes:
> 
>> On 20 Dec 2004 18:44:14 -0500, jayessay wrote:
>> 
>>> "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> 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).
> 
> 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

The problem with MD is not target method resolution, which is quite
trivial, but safety in presence of inheritance with combinatorial explosion
of target methods to override. I doubt that CLOS seriously approaches the
problem. Consider Ada. To provide MD on independent type hierarchies, you
should relax freezing rules for primitive operations. Doing so you have a
great problem of keeping the dispatching table consistent.

> 2. Overloading gives a kind of static version of this.

... being absolutely unsafe.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



  reply	other threads:[~2004-12-21 17:12 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-12-18  4:27 Ada 2005? conradwt
2004-12-18  8:08 ` Martin Dowie
2004-12-20 20:06   ` conradwt
2004-12-21  6:51     ` Martin Dowie
2004-12-18  8:47 ` christov
2004-12-19  3:28   ` Randy Brukardt
2004-12-19 19:11     ` christov
2004-12-19 22:07       ` Ada User Journal (was: Re: Ada 2005?) Dirk Craeynest
2004-12-19 22:34         ` Ada User Journal Florian Weimer
2004-12-20  9:19           ` Martin Krischik
2004-12-20 11:02             ` Florian Weimer
2004-12-20 12:22               ` Thomas Hühn
2004-12-27 13:16                 ` Florian Weimer
2004-12-21  0:15   ` Ada 2005? David Botton
2004-12-18  8:51 ` Martin Krischik
2004-12-18 16:03 ` Dmitry A. Kazakov
2004-12-20 18:49   ` conradwt
2004-12-20 20:10     ` Dmitry A. Kazakov
2004-12-20 23:44       ` jayessay
2004-12-21  1:26         ` Alexander E. Kopilovich
2004-12-21  8:31           ` Dmitry A. Kazakov
2004-12-21 17:24           ` jayessay
2004-12-21  8:11         ` Dmitry A. Kazakov
2004-12-21 17:10           ` jayessay
2004-12-21 17:12             ` Dmitry A. Kazakov [this message]
2004-12-21 21:42               ` jayessay
2004-12-22  8:55                 ` Dmitry A. Kazakov
2004-12-22 18:02                   ` jayessay
2004-12-22 19:10                     ` Dmitry A. Kazakov
2004-12-23 18:09                       ` jayessay
2004-12-24  9:41                         ` Dmitry A. Kazakov
2004-12-27 17:09                           ` jayessay
2004-12-27 19:44                             ` Dmitry A. Kazakov
2004-12-27 21:51                               ` Georg Bauhaus
2004-12-28  9:56                                 ` Dmitry A. Kazakov
2004-12-28 17:56                                   ` jayessay
2004-12-28 17:48                                 ` jayessay
2004-12-28 17:36                               ` jayessay
2004-12-21  8:33     ` Martin Krischik
2004-12-21 15:34       ` jimmaureenrogers
2004-12-21 15:53         ` Martin Krischik
2004-12-22  9:34           ` Larry Kilgallen
2004-12-22 11:01             ` Martin Krischik
2004-12-22 12:52               ` Larry Kilgallen
2004-12-22 16:38                 ` Martin Krischik
2004-12-23 23:05       ` conradwt
2004-12-24  9:24         ` Pascal Obry
2004-12-24  9:59         ` Martin Krischik
2004-12-18 19:31 ` Jeffrey Carter
2004-12-20 18:55   ` conradwt
2004-12-20 23:53     ` Jeffrey Carter
2004-12-21  0:25       ` David Botton
2004-12-19  3:16 ` Brian May
2004-12-20 23:38   ` jayessay
2004-12-21 21:42     ` Brian May
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox