From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: 'Class'Class'Class'Class ad libitum
Date: Tue, 13 Sep 2016 20:41:54 +0200
Date: 2016-09-13T20:41:54+02:00 [thread overview]
Message-ID: <nr9h9m$hm9$1@gioia.aioe.org> (raw)
In-Reply-To: nr9avt$kor$1@dont-email.me
On 2016-09-13 18:54, Alejandro R. Mosteo wrote:
> On 13/09/16 18:34, Dmitry A. Kazakov wrote:
>> Dispatching is a property of an operation's argument, not of a type. The
>> same object may dispatch or not. It should not be reader's concern.
>> Dispatching is merely a method of operation implementation, that is by
>> composition of the operation body out of multiple bodies of other
>> operations selected by the tag. It is a pure implementation detail.
>
> True, but the reader/user needs to make explicit the class-wideness of a
> value if dispatching is desired (and conversely), and this can lead to
> errors. GPS nowadays highlights dispatching calls...
No, the reader does not need that. There are language aberrations that
allow declaration of non-primitive operations. But from the SW design
POV all operations must be always either dispatching or class-wide =
acting uniformly on the declared type. You need to know only if the
principle gets violated and the operation suddenly does not act as it
must. Then you indeed need to know dirty details of the consequences of
language limitations. These cases should have been all illegal, but that
would require multiple dispatch working.
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
prev parent reply other threads:[~2016-09-13 18:41 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-13 10:43 'Class'Class'Class'Class ad libitum Alejandro R. Mosteo
2016-09-13 11:29 ` J-P. Rosen
2016-09-13 16:10 ` Alejandro R. Mosteo
2016-09-13 18:53 ` Robert A Duff
2016-09-13 12:37 ` Dmitry A. Kazakov
2016-09-13 16:10 ` Alejandro R. Mosteo
2016-09-13 16:34 ` Dmitry A. Kazakov
2016-09-13 16:54 ` Alejandro R. Mosteo
2016-09-13 18:41 ` Dmitry A. Kazakov [this message]
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox