comp.lang.ada
 help / color / mirror / Atom feed
From: Brian Rogoff <bpr@shell5.ba.best.com>
Subject: Re: Mutually dependent private types
Date: 1998/05/29
Date: 1998-05-29T00:00:00+00:00	[thread overview]
Message-ID: <Pine.BSF.3.96.980529151526.3076A-100000@shell5.ba.best.com> (raw)
In-Reply-To: 356F1F11.3B9A68E3@ac3i.dseg.ti.com


On Fri, 29 May 1998, John Volan wrote:
> Brian Rogoff wrote:
> > 
> > Lets explore the idea a little more though. If there were some better
> > (read: more direct) support for multiple inheritance in Ada, the
> > inheritance collision argument is weakened, and the workaround can become
> > the blessed solution. Since an extension is being proposed anyways,
> > perhaps the single inheritance restriction should be rethought.
> 
> I'd still object to using inheritance to simulate forward type
> declarations, on the grounds that it proliferates "spurious" extra
> parent types, and forces programmers to do unnecessary downcasting type
> conversions.  A true forward type declaration doesn't introduce a
> different type, it's just a different view of the same type, in the same
> sense that a private type declaration and its full type declaration are
> just two views of the same type.

I agree on all points, but I think that your strongest argument against 
using inheritance for resolving forward type declarations is that they 
use up a valuable "line of inheritance" and that the inheritance
collision problem forces reorganization of packages. I think that with 
better MI the withing problem could have a (only slightly inelegant)
workaround, *and* there would be a bit more convenience in Ada OOP. The 
"withing problem" solutions you describe are only solutions to the withing 
problem and nothing else. There might be more bang for the language change
buck in an MI extension.

-- Brian






  reply	other threads:[~1998-05-29  0:00 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1998-05-21  0:00 Mutually dependent private types adam
1998-05-21  0:00 ` John Volan
1998-05-21  0:00 ` Matthew Heaney
1998-05-22  0:00   ` John Volan
1998-05-22  0:00     ` Matthew Heaney
1998-05-26  0:00       ` John Volan
1998-05-26  0:00         ` Matthew Heaney
1998-05-27  0:00           ` John Volan
1998-05-27  0:00             ` Matthew Heaney
1998-05-28  0:00               ` John Volan
1998-05-28  0:00                 ` Matthew Heaney
1998-05-29  0:00                   ` John Volan
1998-05-29  0:00                 ` Brian Rogoff
1998-05-29  0:00                   ` John Volan
1998-05-29  0:00                     ` Brian Rogoff [this message]
1998-05-29  0:00                       ` John Volan
1998-05-30  0:00                 ` Geoff Bull
1998-05-30  0:00                   ` Fergus Henderson
1998-06-01  0:00                     ` John Volan
1998-06-02  0:00                       ` Fergus Henderson
1998-06-04  0:00                       ` Robert Dewar
1998-05-26  0:00       ` Robert I. Eachus
1998-05-26  0:00         ` John Volan
1998-05-27  0:00           ` Robert I. Eachus
1998-05-29  0:00             ` John Volan
1998-05-27  0:00           ` Jerry van Dijk
1998-05-29  0:00             ` John Volan
  -- strict thread matches above, loose matches on Subject: below --
1998-05-22  0:00 adam
1998-05-22  0:00 ` John Volan
1998-05-22  0:00 ` Brian Rogoff
1998-05-22  0:00 ` Matthew Heaney
replies disabled

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