comp.lang.ada
 help / color / mirror / Atom feed
From: Dmitry A. Kazakov <mailbox@dmitry-kazakov.de>
Subject: Re: Q: Endless loop by dispatching
Date: Tue, 22 Jul 2003 16:46:41 +0200
Date: 2003-07-22T16:46:41+02:00	[thread overview]
Message-ID: <sgiqhvofqr72ivuqsvbv0sklgu2gpa4k5p@4ax.com> (raw)
In-Reply-To: slrnbhqatg.oa.lutz@taranis.iks-jena.de

On Tue, 22 Jul 2003 12:18:57 +0000 (UTC), Lutz Donnerhacke
<lutz@iks-jena.de> wrote:

>* Dmitry A Kazakov wrote:
>> On Tue, 22 Jul 2003 10:36:56 +0000 (UTC), Lutz Donnerhacke
>>>How about a fixing rule, which applies at the private syntax element?
>>
>> Which rule do you mean?
>
>If publicly defined tagged types are fixed at the private syntax element,
>there is no possibility to define dispatching procedures and functions
>afterwards. Of course, it's not a choice, because it will break existing
>programs.

But what if I need to extend the interface by adding some new
primitive operations?

Or do you mean some sort of interface freezing like Java's "final"? It
will face same problems to be solved:

package A is
   type X is tagged ...;
   procedure Foo (Obj : X);
end A;

package B is
   type XX is new X with ...;
   procedure Foo (Obj : XX) is final; -- No more overridings
end B;

package C is
   type Y is new X with private;
   procedure Foo (Obj : Y); -- Going to override, can I?
private
   type Y is new XX with ...;
      -- Oops, I can't!
end C;

I can only repeat my old thesis: either multiple inheritance allows a
reasonable implementation, or there should be no inheritance at all.

---
Regards,
Dmitry Kazakov
www.dmitry-kazakov.de



  reply	other threads:[~2003-07-22 14:46 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-07-11  8:22 Q: Endless loop by dispatching Michael Erdmann
2003-07-11  9:46 ` Jean-Pierre Rosen
2003-07-11 15:19   ` Michael Erdmann
2003-07-11 10:01 ` Q: " Dmitry A. Kazakov
2003-07-11 15:07   ` Michael Erdmann
2003-07-12  1:41     ` Jeffrey Carter
2003-07-14  8:48     ` Dmitry A. Kazakov
2003-07-14 18:38       ` Randy Brukardt
2003-07-15  8:47         ` Dmitry A. Kazakov
2003-07-15 17:23           ` Randy Brukardt
2003-07-16  8:08             ` Dmitry A. Kazakov
2003-07-16 17:44               ` Robert I. Eachus
2003-07-17  1:57               ` Robert A Duff
2003-07-18  9:10                 ` Dale Stanbrough
2003-07-18 20:26                   ` Robert I. Eachus
2003-07-18 21:35                     ` tmoran
2003-07-19  0:25                       ` Robert I. Eachus
2003-07-19  2:30                         ` tmoran
2003-07-19  5:48                           ` Robert I. Eachus
2003-07-21  8:38                             ` Dmitry A. Kazakov
2003-07-21 10:08                               ` Robert I. Eachus
2003-07-21 13:21                                 ` Dmitry A. Kazakov
2003-07-21 18:51                                   ` Robert I. Eachus
2003-07-22  7:41                                     ` Dmitry A. Kazakov
2003-07-22 10:36                                       ` Lutz Donnerhacke
2003-07-22 12:11                                         ` Dmitry A. Kazakov
2003-07-22 12:18                                           ` Lutz Donnerhacke
2003-07-22 14:46                                             ` Dmitry A. Kazakov [this message]
2003-07-22 15:11                                               ` Lutz Donnerhacke
2003-07-23  8:12                                                 ` Dmitry A. Kazakov
2003-07-19 14:44                     ` Chad R. Meiners
2003-07-20 12:36                       ` Robert I. Eachus
2003-07-11 16:27 ` T. Kurt Bond
2003-07-12  8:37   ` Michael Erdmann
2003-07-15  7:11     ` Kenneth Almquist
replies disabled

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