comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Multiple dispatch in Julia
Date: Thu, 12 Nov 2020 08:48:49 +0100	[thread overview]
Message-ID: <roipd1$7vr$1@gioia.aioe.org> (raw)
In-Reply-To: 6faed833-462a-4b4b-b555-9a632fd7caddn@googlegroups.com

On 12/11/2020 08:12, Jerry wrote:

> I'm curious to know what Ada folks think about this discussion about Julia, especially the extended comment about multiple dispatch.

What discussion?

-----------
Like other dynamic languages claiming that they have multiple dispatch, 
Julia deploys run-time type matching for the target method. This is all 
you need to know.

Because the most important requirement of properly designed dispatch 
(multiple or not) is:

    dispatch may never fail.

It is very difficult to satisfy already with multi-methods. BTW, I am 
not sure, but it seems that Julia has only multi-methods and no full 
multiple dispatch.

Full multiple-dispatch is even harder to approach.

P.S. Multi-method dispatch is something like X + Y. Both arguments and 
the result are from the same type hierarchy. Full multiple dispatch is 
like Print (X, Y). Arguments are from different hierarchies.

P.P.S. Ada in fact has multi-method dispatch. It is defined so that when 
tags of controlling arguments are different you get an exception ARM 
3.9.2 (16). Which, yes, violates the principle above, but nobody ever 
pretended that Ada had multiple dispatch in the first place.

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

  reply	other threads:[~2020-11-12  7:48 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-12  7:12 Multiple dispatch in Julia Jerry
2020-11-12  7:48 ` Dmitry A. Kazakov [this message]
2020-11-12  8:55   ` Jerry
2020-11-12 10:27     ` Dmitry A. Kazakov
2020-11-12 17:56   ` antispam
2020-11-12 18:28     ` Dmitry A. Kazakov
2020-11-12 21:22       ` antispam
2020-11-13  7:49         ` Dmitry A. Kazakov
2020-11-13 12:55           ` antispam
2020-11-13 14:59             ` Dmitry A. Kazakov
2020-11-15 12:43               ` antispam
2020-11-15 13:37                 ` Dmitry A. Kazakov
2020-11-15 14:32                   ` antispam
2020-11-15 16:28                     ` Dmitry A. Kazakov
replies disabled

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