From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-1.9 required=3.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.5-pre1 Path: eternal-september.org!reader02.eternal-september.org!aioe.org!5WHqCw2XxjHb2npjM9GYbw.user.gioia.aioe.org.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: Simple example on interfaces Date: Tue, 26 Jan 2021 12:53:19 +0100 Organization: Aioe.org NNTP Server Message-ID: References: <9e1b5d67-be08-4f53-aadc-fbed761a8c24n@googlegroups.com> NNTP-Posting-Host: 5WHqCw2XxjHb2npjM9GYbw.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; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.6.1 X-Notice: Filtered by postfilter v. 0.9.2 Content-Language: en-US Xref: reader02.eternal-september.org comp.lang.ada:61210 List-Id: On 2021-01-26 12:15, AdaMagica wrote: > Dmitry A. Kazakov schrieb am Dienstag, 26. Januar 2021 um 11:25:41 UTC+1: >> How do I >> spell in the language the fact that Long_Integer is an integer? If >> Integer is an integer and Long_Integer is an integer can I write a >> program that works on integers? Can it be the *same* program for each >> instance of? Simple, natural questions. > > This is what generics are for (since Ada 83). Right, generics is a form of polymorphism (static one). Generics have interfaces and these form classes. The problem with generics (static polymorphism which also includes overloading) is that they answer no to the last question. There cannot be same program because there is no class-wide (polymorphic) objects from the generics' class. P.S. Comparing generics to overloading, generics offer some re-use, and some degree of formalization at the cost of producing huge mess, while overloading does none. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de