comp.lang.ada
 help / color / mirror / Atom feed
From: Adam Beneschan <adambeneschan@aol.com>
Subject: Re: orthogonal inheritance and extension aggregates
Date: Mon, 22 Jul 2013 12:19:40 -0700 (PDT)
Date: 2013-07-22T12:19:40-07:00	[thread overview]
Message-ID: <3a0d1adf-188a-4500-a3f0-ec5d5bc2115f@googlegroups.com> (raw)
In-Reply-To: <947d8137-edc1-4abc-92b6-ace9dcec9bbb@googlegroups.com>

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 derived type is not a generic formal, and if the subprogram is not abstract [which means it must be a function with a controlling result], and if no overriding subprogram is explicitly provided, the subprogram is overridden with an implicit subprogram that does nothing but raise Program_Error.  This should solve the problem in a case like this--where the language demands that some subprograms be overridden but does not provide any mechanism for doing so.  I'm assuming that if this were the case, Extended would no longer need to be "abstract".  (If it were, this change wouldn't be sufficient.)
> 

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


  reply	other threads:[~2013-07-22 19:19 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-19 17:46 orthogonal inheritance and extension aggregates Felix Krause
2013-07-19 18:00 ` Adam Beneschan
2013-07-22 16:02   ` Adam Beneschan
2013-07-22 18:44     ` Dmitry A. Kazakov
2013-07-22 18:59     ` Adam Beneschan
2013-07-22 19:19       ` Adam Beneschan [this message]
2013-07-22 22:03       ` Felix Krause
2013-07-19 19:05 ` Dmitry A. Kazakov
2013-07-20  5:49   ` Randy Brukardt
2013-07-20  6:36     ` Dmitry A. Kazakov
2013-07-20  7:54       ` Niklas Holsti
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox