From: Mark Biggar <mark.a.biggar@attbi.com>
Subject: Re: point by point advantages of Ada
Date: Mon, 13 Jan 2003 16:37:48 GMT
Date: 2003-01-13T16:37:48+00:00 [thread overview]
Message-ID: <wXBU9.545080$GR5.320765@rwcrnsc51.ops.asp.att.net> (raw)
In-Reply-To: v1p2ssf14l1801@corp.supernews.com
Randy Brukardt wrote:
> Warren W. Gay VE3WWG wrote in message <3E1B4C4C.7050205@cogeco.ca>...
>
>>Randy Brukardt wrote:
>
>
>>I thought that this might work:
>>
>> declare
>> V : T'Class := ...
>> begin
>> ...
>> V := Some_Other_Func; - Dispatching
>> end;
>>
>>But GNAT (at least) reports that this assignment is "ambiguous"
>>and will not compile it. I would have expected that it would
>>resolve it at runtime, knowing the current value of V and its
>>current tag. Is this consistent with the LRM (IANAL)?
>
>
> Unfortunately, the LRM has no position on this. This case is not covered
> at all by the standard. The ARG has been working (slowly) on an AI to
> fix this, and it finally was finished in October and approved at the
> recent ARG and WG9 meetings. It's AI-196.
> http://www.ada-auth.org/cgi-bin/cvsweb.cgi/AIs/AI-00196.TXT
>
> The solution is essentially to add a paragraph saying that your example
> works as you expect. Now, of course, you'll have to wait for Ada
> compilers to conform to this ruling. (Which will be helped when an ACATS
> test gets added for it.)
This isn't the interesting case anyway. The interesting case
is where the function is used as a parameter to another subroutine
which has additional dispatching operands. For example:
Type Set is tagged ...;
function Union(L, R: Set) return Set;
function Empty return Set;
Type Ordered_Set is new Set with ... ;
function Union(L, R: Ordered_Set) return Ordered_Set;
function Empty return Ordered_Set;
S: Ordered_Set'class := ...;
S := Union(S, Empty);
Now, which version of Empty is called is determined by run-time
dispatch depending of whether S is a Set or an Ordered_Set.
--
Mark Biggar
mark.a.biggar@attbi.com
next prev parent reply other threads:[~2003-01-13 16:37 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-12-26 21:57 point by point advantages of Ada Russ
2002-12-27 10:54 ` Ingo Marks
2002-12-27 21:11 ` Keith Thompson
2002-12-27 21:31 ` Robert A Duff
2002-12-29 18:31 ` Colin Paul Gloster
2002-12-29 20:09 ` James S. Rogers
2003-01-06 23:13 ` David Thompson
2003-01-07 1:35 ` James S. Rogers
2003-01-07 19:34 ` Randy Brukardt
2003-01-07 21:53 ` Warren W. Gay VE3WWG
2003-01-08 0:36 ` Richard Riehle
2003-01-08 17:50 ` Warren W. Gay VE3WWG
2003-01-08 20:31 ` Randy Brukardt
2003-01-13 16:37 ` Mark Biggar [this message]
2002-12-29 21:56 ` Hyman Rosen
2002-12-29 22:30 ` John R. Strohm
2002-12-29 23:16 ` Hyman Rosen
2003-01-02 14:24 ` Wes Groleau
2003-01-03 8:20 ` Hyman Rosen
2003-01-03 14:00 ` Wes Groleau
2003-01-08 20:55 ` Georg Bauhaus
2002-12-29 19:20 ` chris.danx
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox