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,FREEMAIL_FROM autolearn=unavailable autolearn_force=no version=3.4.4 X-Received: by 10.236.15.73 with SMTP id e49mr16561854yhe.15.1374520780896; Mon, 22 Jul 2013 12:19:40 -0700 (PDT) X-Received: by 10.50.40.104 with SMTP id w8mr2523428igk.1.1374520780694; Mon, 22 Jul 2013 12:19:40 -0700 (PDT) Path: border1.nntp.ams3.giganews.com!border1.nntp.ams2.giganews.com!border2.nntp.ams2.giganews.com!border4.nntp.ams.giganews.com!border2.nntp.ams.giganews.com!nntp.giganews.com!news2.euro.net!209.197.12.242.MISMATCH!nx01.iad01.newshosting.com!newshosting.com!69.16.185.11.MISMATCH!npeer01.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!gh1no99138qab.0!news-out.google.com!dk8ni1201qab.0!nntp.google.com!cb17no15960qab.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Mon, 22 Jul 2013 12:19:40 -0700 (PDT) In-Reply-To: <947d8137-edc1-4abc-92b6-ace9dcec9bbb@googlegroups.com> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=66.126.103.122; posting-account=RxNzCgoAAACA5KmgtFQuaU-WaH7rjnAO NNTP-Posting-Host: 66.126.103.122 References: <6995bf02-6143-4d0f-aeb3-89a94bc1ac01@googlegroups.com> <79e0bc53-5431-493d-95d1-aac74c7d19c9@googlegroups.com> <947d8137-edc1-4abc-92b6-ace9dcec9bbb@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <3a0d1adf-188a-4500-a3f0-ec5d5bc2115f@googlegroups.com> Subject: Re: orthogonal inheritance and extension aggregates From: Adam Beneschan Injection-Date: Mon, 22 Jul 2013 19:19:40 +0000 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Received-Bytes: 2430 X-Original-Bytes: 2715 Xref: number.nntp.dca.giganews.com comp.lang.ada:182637 Date: 2013-07-22T12:19:40-07:00 List-Id: On Monday, July 22, 2013 11:59:29 AM UTC-7, Adam Beneschan wrote: > What I'm thinking is that we need a (2a) that says something like: if the= parent type is a generic formal tagged type or type extension, and the der= ived type is not a generic formal, and if the subprogram is not abstract [w= hich means it must be a function with a controlling result], and if no over= riding subprogram is explicitly provided, the subprogram is overridden with= an implicit subprogram that does nothing but raise Program_Error. This sh= ould solve the problem in a case like this--where the language demands that= some subprograms be overridden but does not provide any mechanism for doin= g so. I'm assuming that if this were the case, Extended would no longer ne= ed to be "abstract". (If it were, this change wouldn't be sufficient.) >=20 I meant for this to apply only in an instance. I intended to say that, but= it got left out somehow. (Any actual language wording would probably have= to refer to "the actual type for a formal", or something like that.) -- Adam