comp.lang.ada
 help / color / mirror / Atom feed
From: dweller@Starbase.NeoSoft.COM (David Weller)
Subject: Re: Overloading for T and T'Class
Date: 13 Nov 1994 20:07:20 -0600
Date: 1994-11-13T20:07:20-06:00	[thread overview]
Message-ID: <3a6goo$j7s@Starbase.NeoSoft.COM> (raw)
In-Reply-To: Cz4H8G.MA@swlvx2.msd.ray.com

In article <Cz4H8G.MA@swlvx2.msd.ray.com>,
John Volan <jgv@swl.msd.ray.com> wrote:
>In Ada9X, is it legal to overload the same subprogram name for both
>some tagged type T and its class-wide type T'Class?  For example:
>
>	package P is
>	  type T is tagged ... ;
>	  procedure Op (X : in out T);
>	  procedure Op (X : in out T'Class);
>	  ...
>	end P;
>

My neophyte language-lawerly sense says "No", you can't do this.  The
reason being (I think, don't have my RM with me), is that the
classwide operation declares an implicit operation within the
immediate scope that is identical to your first declaration of Op.

As a compiler, your declarations would confuse me, since the first Op
says "I'm a primitive operation, and thus I may be extended and
modified by descendants", and the second one says, "I'm a classwide
operation, thus any descendant of my type (a member of T'Class) must
execute this subprogram".  A contradiction, from my perspective.

I think GNAT (at the moment) permits this, further confusing the
issue.

Your example was similar to an issue discussed during a presentation
I made on the first version of the Booch COmponents at Tri-Ada.  


-- 
Proud (and vocal) member of Team Ada! (and Team OS/2)        ||This is not your
   	      Ada -- Very Cool.  Doesn't Suck.               ||  father's Ada 
For all sorts of interesting Ada tidbits, run the command:   ||________________
"finger dweller@starbase.neosoft.com | more" (or e-mail with "finger" as subj.)
   ObNitPick: Spelling Ada as ADA is like spelling C++ as CPLUSPLUS. :-) 



  reply	other threads:[~1994-11-14  2:07 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1994-11-11 21:33 Overloading for T and T'Class John Volan
1994-11-14  2:07 ` David Weller [this message]
1994-11-15  5:01   ` Cyrille Comar
1994-11-15  2:22 ` Bob Duff
1994-11-16 11:33   ` Robert I. Eachus
     [not found] ` <3a6goo$j7s@starbase.neosoft.com>
1994-11-15  2:35   ` Tucker Taft
1994-11-15 11:39     ` David Weller
1994-11-16  4:32       ` Brad Balfour
1994-11-16 14:34         ` John Volan
1994-11-15 14:15     ` Norman H. Cohen
1994-11-16  1:22 ` John Volan
1994-11-16 11:59   ` David Weller
1994-11-19  4:54   ` Cyrille Comar
replies disabled

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