From: "Mark A. Biggar" <mark@biggar.org>
Subject: Re: MI in Ada 200X
Date: Fri, 30 May 2003 15:11:01 GMT
Date: 2003-05-30T15:11:01+00:00 [thread overview]
Message-ID: <9wKBa.1046187$F1.124536@sccrnsc04> (raw)
In-Reply-To: <BewBa.288$b8.126@nwrdny03.gnilink.net>
Hyman Rosen wrote:
> Dmitry A. Kazakov wrote:
>
>> Now consider a possibility that MI has a problem X. Then, obviously,
>> either X is a problem of the concept of inheritance (1), or X is a
>> problem of the language, implementation, our understanding etc (2).
>
>
> MI has implementation difficulties that are distinct from SI,
> related to the layout in memory of the pieces of the full object.
> As I said, it is very instructive to check out the C++ ABI which
> gcc uses.
>
MI also has the ambiguities with the diamond inheritance problem,
which I have never seen a language solve in a non-clumsy way.
Suppose we have the following example:
type a is tagged ...;
procedure op(x: a);
type b is new a with ...;
procedure op(x: b);
type c is new a with ...;
procedure op(x: C);
type d is new a and b with ...; -- made up notation for Ada MI
procedure op(x: d);
Now for the ambiguities:
1) does d contain 1 or 2 copies of the fields of a?
2) if 2 how do you name them?
3) which version of op does d inherit?
4) the simple implementation (TAG is pointer to vtable, field offsets
remain constant, etc.) becomes much more complicated.
--
mark@biggar.org
mark.a.biggar@attbi.com
next prev parent reply other threads:[~2003-05-30 15:11 UTC|newest]
Thread overview: 73+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-05-23 23:05 Suggestion for Ada 200x - Interface inheritance Steve
2003-05-24 1:02 ` Robert A Duff
2003-05-29 16:47 ` Brian Gaffney
2003-06-01 10:29 ` Craig Carey
2003-05-24 12:35 ` Wojtek Narczynski
2003-05-24 17:53 ` Georg Bauhaus
2003-05-25 13:11 ` Wojtek Narczynski
2003-05-24 22:07 ` Robert A Duff
2003-05-25 14:12 ` Wojtek Narczynski
2003-05-25 17:53 ` Jeffrey Carter
2003-05-25 18:47 ` Wesley Groleau
2003-05-25 19:42 ` Hyman Rosen
2003-05-26 7:53 ` Wojtek Narczynski
2003-05-26 15:50 ` Hyman Rosen
2003-05-27 18:41 ` Wojtek Narczynski
2003-05-27 18:55 ` Wesley Groleau
2003-05-27 19:13 ` Hyman Rosen
2003-05-28 13:07 ` Wojtek Narczynski
2003-05-28 13:28 ` Jean-Pierre Rosen
2003-05-29 0:58 ` Hyman Rosen
2003-05-28 22:13 ` Robert A Duff
2003-05-28 23:50 ` Hyman Rosen
2003-05-29 9:17 ` Dmitry A. Kazakov
2003-05-29 13:31 ` Wojtek Narczynski
2003-05-26 7:51 ` Wojtek Narczynski
2003-05-25 1:33 ` Steve
2003-05-25 10:37 ` Simon Wright
2003-05-26 7:54 ` Jean-Pierre Rosen
2003-05-26 10:07 ` Preben Randhol
2003-05-26 16:32 ` Pascal Obry
2003-05-26 16:59 ` Preben Randhol
2003-06-01 10:53 ` Craig Carey
2003-06-01 12:17 ` Preben Randhol
2003-05-26 7:49 ` Jean-Pierre Rosen
2003-06-02 9:01 ` Wojtek Narczynski
2003-05-28 13:57 ` MI in Ada 200X (was: Suggestion for Ada 200x - Interface inheritance) Mário Amado Alves
2003-05-28 15:05 ` Preben Randhol
2003-05-29 0:54 ` MI in Ada 200X Hyman Rosen
2003-05-29 17:38 ` Stephen Leake
2003-05-30 7:20 ` Preben Randhol
2003-05-29 9:17 ` MI in Ada 200X (was: Suggestion for Ada 200x - Interface inheritance) Dmitry A. Kazakov
2003-05-29 22:56 ` MI in Ada 200X Hyman Rosen
2003-05-30 7:39 ` Dmitry A. Kazakov
2003-05-30 13:11 ` Hyman Rosen
2003-05-30 14:29 ` Robert A Duff
2003-05-30 14:51 ` Hyman Rosen
2003-05-30 15:11 ` Mark A. Biggar [this message]
2003-05-30 15:51 ` Hyman Rosen
2003-05-30 22:38 ` John Griffiths
2003-05-30 2:50 ` Wesley Groleau
2003-05-30 7:38 ` Dmitry A. Kazakov
2003-05-30 12:20 ` Karel Miklav
2003-05-30 12:59 ` Hyman Rosen
2003-05-30 14:02 ` Georg Bauhaus
2003-05-30 14:04 ` Lutz Donnerhacke
2003-05-30 18:45 ` Georg Bauhaus
2003-05-30 15:02 ` Hyman Rosen
2003-05-30 19:14 ` Georg Bauhaus
2003-05-30 19:40 ` Hyman Rosen
2003-05-30 19:31 ` Wojtek Narczynski
2003-05-30 22:42 ` John Griffiths
2003-05-31 9:27 ` Dmitry A. Kazakov
2003-05-31 13:53 ` Martin Krischik
2003-06-01 9:18 ` Dmitry A. Kazakov
2003-05-30 8:28 ` Mário Amado Alves
2003-05-30 8:46 ` MI in Ada 200X (was: Suggestion for Ada 200x - Interface inheritance) Preben Randhol
2003-05-31 10:17 ` Dmitry A. Kazakov
2003-05-31 13:48 ` Preben Randhol
2003-05-31 17:21 ` Dmitry A. Kazakov
2003-05-29 0:54 ` MI in Ada 200X Hyman Rosen
2003-05-29 2:13 ` MI in Ada 200X (was: Suggestion for Ada 200x - Interface inheritance) Robert I. Eachus
2003-05-29 12:06 ` Mário Amado Alves
2003-05-31 19:58 ` Chad R. Meiners
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox