comp.lang.ada
 help / color / mirror / Atom feed
From: Dmitry A. Kazakov <mailbox@dmitry-kazakov.de>
Subject: Re: Q: Endless loop by dispatching
Date: Wed, 16 Jul 2003 10:08:45 +0200
Date: 2003-07-16T10:08:45+02:00	[thread overview]
Message-ID: <ep0ahv43mi0p5klonocleu2qjr1atorfdi@4ax.com> (raw)
In-Reply-To: vh8e1rbk1rvi00@corp.supernews.com

On Tue, 15 Jul 2003 12:23:29 -0500, "Randy Brukardt"
<randy@rrsoftware.com> wrote:

>"Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> wrote in message
>news:h5c7hvgol0sscrnaj98qp071903m9hoh5c@4ax.com...
>> Probably it is worth to think how to eliminate any need in Y'Parent?
>> For example one could provide some sort of overriding by extension.
>> I.e. the bodies which would implicitly call the overriden body, as it
>> is manually made in Initialize/Finalize.
>
>Interesting idea, but you'd need some way to specify when the overridden
>body is called. For instance, you usually call the overridden body first for
>Initialize (so the parent components are Initialized before you do anything)
>and last for Finalize (so the parent components still exist while you are
>writing your code). I've even had a few cases where I had to do it in the
>middle (with operations before an after it).

One should invent a good syntax suggar for this. Which is rather
difficult. There are actually two things in it:

1. There should be a way to declare some primitive operation saying
that it cannot be overriden completely. One might wish it for things
like Initialize/Finalize. Then probably there should be a way to say
where an override is allowed to add something.

2. During overriding one should specifiy where the override(s) places
the extension. I think that it should be specified in the body, while
the specification should only say that it gets overridden.

The question is syntax and a good balance between 1. and 2., i.e
between contract and implementation. The most complicated cases would
emerge from things like Adjust, I suppose.

It is also related to an ability to explicitly specify that a
subroutine is an overriding, not overloading, to avoid undesired
overloading in case ot typo errors. I do not know whether there is an
AI on that. If yes, they should be considered together.

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



  reply	other threads:[~2003-07-16  8:08 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 [this message]
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
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