comp.lang.ada
 help / color / mirror / Atom feed
From: "Warren W. Gay VE3WWG" <ve3wwg@cogeco.ca>
Subject: Re: point by point advantages of Ada
Date: Tue, 07 Jan 2003 16:53:16 -0500
Date: 2003-01-07T16:53:16-05:00	[thread overview]
Message-ID: <3E1B4C4C.7050205@cogeco.ca> (raw)
In-Reply-To: v1maut4scctn6c@corp.supernews.com

Randy Brukardt wrote:
> James S. Rogers wrote in message ...
> 
>>"David Thompson" <david.thompson1@worldnet.att.net> wrote in message
>>news:24oS9.30853$p_6.2594702@bgtnsc04-news.ops.worldnet.att.net...
>>
>>>Ada uses return type to resolve overloading (at compile time), but
>>>not to dispatch (possibly at run time).  (C++ and Java do neither.)
>>
>>Quoting from "Ada as a Second Language" by Cohen:
>>"If a primitive function of a type T has a result of type T, but no
> 
> parameters
> 
>>of type T or access T, a call on the function can be either
> 
> nondispatching or
> 
>>dispatching depending on the context."
>>
>>This is clearly more than simple overload resolution.
> 
> But it's not quite dispatching on the tag of the result (which you can't
> know). But it is dispatching on the tag of result that you need. Here is
> a quick example of it:  <snip>

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)?
-- 
Warren W. Gay VE3WWG
http://home.cogeco.ca/~ve3wwg




  reply	other threads:[~2003-01-07 21:53 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 [this message]
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
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