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=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!news.eternal-september.org!feeder.eternal-september.org!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: 'Class'Class'Class'Class ad libitum Date: Tue, 13 Sep 2016 20:41:54 +0200 Organization: Aioe.org NNTP Server Message-ID: References: NNTP-Posting-Host: 4UnmtEBiFcCZzQad+30FUw.user.gioia.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 X-Notice: Filtered by postfilter v. 0.8.2 Xref: news.eternal-september.org comp.lang.ada:31779 Date: 2016-09-13T20:41:54+02:00 List-Id: 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