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: Wed, 27 Jan 2021 09:05:33 +0100 Organization: Aioe.org NNTP Server Message-ID: References: <9e1b5d67-be08-4f53-aadc-fbed761a8c24n@googlegroups.com> <6e343937-3590-4944-8c38-10b61014e128n@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:61220 List-Id: On 2021-01-27 04:09, Randy Brukardt wrote: > "Dmitry A. Kazakov" wrote in message > news:ruprf8$1h6q$1@gioia.aioe.org... > ... >>> universal_integer is anonymous and doesn't have any operations (except >>> automatic conversion). >> >> Yes. In a never ending discussion with Randy I insist that this stuff >> should be made explicit, available for any types. > > As I've often said, for a new language that would certainly be a good idea. > For Ada, reproducing all of the quirks of Ada would lead to an inpentrable > mess. And not reproducing them would break a lot of code (and more > importantly, no one could tell if their code would be broken and in extreme > cases, wouldn't even know as the code would silently change meaning). Universal_Integer is already implemented in all existing compilers. > As far as full multiple inheritance being too expensive to implement, I tend > to think that is true for interfaces as well. :-) As always, the question is > whether one wants fast code or just something that works. Full multiple > inheritance certainly can be implemented by converting all selectors to > Getter/Setter pairs and dispatching on every use. But that's pretty > expensive for accessing an integer component. Same. All this is already there and implemented. The question is why is it not formalized in the language? Consider this Ada 83: Jagged : array (1..100) of String; This is valid construct though not allowed (someone like you said it would be too expensive to implement). OK, do not implement it, but at least allow to spell the concept of an array of strings! What you say is that I cannot have an array of integers because arrays of strings is so useless, dangerous and mess, would require to design a new language etc. I did not asked arrays of strings, so far... (:-)) -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de