comp.lang.ada
 help / color / mirror / Atom feed
From: "Robert I. Eachus" <rieachus@attbi.com>
Subject: Re: Ada 200X
Date: Mon, 02 Jun 2003 21:05:57 GMT
Date: 2003-06-02T21:05:57+00:00	[thread overview]
Message-ID: <3EDBBC18.6080103@attbi.com> (raw)
In-Reply-To: bbfn73$8buuf$1@ID-175126.news.dfncis.de

Vinzent Hoefler wrote:

> Because the view conversion to a grandparent is of course allowed,
> this is little tricky if not to say error prone sometime.
> 
> Well, yes, I know, you should always design your object hierarchy
> beforehand. ;-)

In one sense this is a valid criticism of the "Ada way" of doing things. 
  In another it is totally bogus.

Ada tagged type derivation trees tend to come in two flavors.  The first 
is one parent with a lot of children. (A bush.)  The class rooted at 
Controlled is like this.

The other common type of Ada derivation tree is a pole.  You have a 
sequence of generic instantiations in the private part of a package 
declaration, each instantiation creating a new mixin.  In the body of 
the package you have lots of view conversions.  But the view conversions 
are definitely not to parents or grandparents, they are to specific 
mixins.  Any added mixins should not change any of the current uplevel 
references.

So I have done lots of changes to type hierarchies in Ada, and I don't 
think I have ever needed to change a view conversion unless I have done 
the gun, foot, shoot, optimization.  (If you really, really need to 
change the name of an instantatiation, you have to be ready to do a 
global search and replace against the body and all child packages.  The 
problem is if you used a name originally that matches some component 
name or the like...)






  parent reply	other threads:[~2003-06-02 21:05 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-06-01 21:36 Ada 200X And838N
2003-06-02  2:22 ` Bobby D. Bryant
2003-06-02  4:20 ` Robert I. Eachus
2003-06-02 11:22   ` Larry Kilgallen
2003-06-02 14:09     ` Hyman Rosen
2003-06-02 14:23       ` Vinzent Hoefler
2003-06-02 14:59         ` Hyman Rosen
2003-06-02 15:04           ` Vinzent Hoefler
2003-06-02 15:18             ` Bill Findlay
2003-06-02 15:32               ` Larry Kilgallen
2003-06-02 15:41               ` Vinzent Hoefler
2003-06-02 15:07           ` Larry Kilgallen
2003-06-02 15:04         ` Larry Kilgallen
2003-06-02 14:23     ` Robert I. Eachus
2003-06-02 14:31       ` Vinzent Hoefler
2003-06-02 15:05         ` Larry Kilgallen
2003-06-02 15:06         ` Hyman Rosen
2003-06-02 21:05         ` Robert I. Eachus [this message]
2003-06-02 22:59           ` Larry Kilgallen
2003-06-03  4:07             ` Robert I. Eachus
2003-06-03  7:52           ` Jean-Pierre Rosen
2003-06-03  9:09           ` Vinzent Hoefler
2003-06-03 14:54             ` Robert I. Eachus
2003-06-04  7:38               ` Vinzent Hoefler
2003-06-05  7:20                 ` Robert I. Eachus
2003-06-02  5:36 ` Wesley Groleau
2003-06-02  8:02 ` Preben Randhol
2003-06-02 10:50 ` Georg Bauhaus
2003-06-03  2:29 ` Steve
2003-06-03  2:45 ` Gautier Write-only
2003-06-03  8:38   ` Vinzent Hoefler
2003-06-03 11:48   ` Preben Randhol
2003-06-03 12:14     ` Lutz Donnerhacke
2003-06-03 12:35       ` Preben Randhol
2003-06-07 21:16       ` Craig Carey
2003-06-08 11:14         ` Martin Dowie
2003-06-09 14:07           ` Craig Carey
2003-06-13 14:20             ` Matthew Heaney
2003-06-13 14:00         ` Matthew Heaney
2003-06-03 17:24     ` Robert A Duff
2003-06-03 17:45       ` Preben Randhol
2003-06-03 17:48         ` Preben Randhol
2003-06-03 18:05           ` Vinzent Hoefler
2003-06-04 10:36             ` Preben Randhol
  -- strict thread matches above, loose matches on Subject: below --
2004-10-31  1:51 David Botton
2004-10-31  7:33 ` Martin Dowie
2004-10-31 18:59   ` Jeffrey Carter
2002-12-26 16:17 Ada 200x Adrian Hoe
2002-12-27 19:32 ` Randy Brukardt
2002-12-27 20:55   ` Robert A Duff
replies disabled

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