comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Ada2012 : Expression functions and extended return statements
Date: Fri, 6 Jan 2012 19:47:21 -0600
Date: 2012-01-06T19:47:21-06:00	[thread overview]
Message-ID: <je887c$a64$1@munin.nbi.dk> (raw)
In-Reply-To: 1292hrynqxgnm$.12shf160d3gpi.dlg@40tude.net

"Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> wrote in message 
news:1292hrynqxgnm$.12shf160d3gpi.dlg@40tude.net...
> On Fri, 06 Jan 2012 08:45:22 -0600, Martin Dowie wrote:
>
>> "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> wrote:
>
>>> This is not a declaration, because the result is not an object.
>>
>> 2012 RM 3.1 6/3 says it is a declaration (but I should have written
>> 'Result' not 'Return').
>
> Surely it says so, but it is not a declaration of the result object.

Yes it is, because the result object (and, as you point out, there can be 
more than one) is formally a separate object from whatever the result is 
assigned into. (This becomes obvious when the result is renamed or directly 
indexed, because in those cases there is no assigned object, but there still 
has to be a result object). This is true even for limited types; in that 
case, the result object "morphs" into the assigned object, but still they 
formally are separate objects. For other objects, the compiler can also use 
build-in-place and avoid materializing the result object, but in all cases 
it exists formally.

And the result object has to be an object, because it doesn't make sense to 
assign into parts of something that isn't an object.

I think your model of what is an object is different than Ada's (which dates 
back to the original Ada 80). Which is fine, but you confuse the issue when 
your terminology deviates from the accepted Ada meaning.

                                       Randy.





  reply	other threads:[~2012-01-07  1:48 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-06  8:45 Ada2012 : Expression functions and extended return statements Martin
2012-01-06  9:45 ` stefan-lucks
2012-01-06 10:02   ` Martin
2012-01-06 11:23     ` Peter C. Chapin
2012-01-06 11:37       ` Martin
2012-01-06 13:13         ` Dmitry A. Kazakov
2012-01-06 14:45           ` Martin Dowie
2012-01-06 15:07             ` Martin
2012-01-06 16:40             ` Robert A Duff
2012-01-06 17:04               ` Martin Dowie
2012-01-19  7:47               ` David Thompson
2012-01-06 17:20             ` Dmitry A. Kazakov
2012-01-07  1:47               ` Randy Brukardt [this message]
2012-01-07  9:21                 ` Dmitry A. Kazakov
2012-01-06 16:45           ` Adam Beneschan
2012-01-06 16:36     ` Adam Beneschan
2012-01-07 14:54     ` stefan-lucks
2012-01-07 15:11       ` Dmitry A. Kazakov
2012-01-08  9:41         ` stefan-lucks
2012-01-09  6:16         ` Randy Brukardt
2012-01-06 15:11   ` J-P. Rosen
2012-01-06 15:26     ` Martin
2012-01-07  1:50       ` Randy Brukardt
2012-01-07 10:12         ` Martin
2012-01-07 12:22           ` Simon Wright
2012-01-07 17:10             ` Martin
2012-01-09  6:21           ` Randy Brukardt
2012-01-09  7:57             ` Martin Dowie
2012-01-31 23:34             ` Yannick Duchêne (Hibou57)
2012-01-06 16:33 ` Adam Beneschan
2012-01-06 16:38   ` Adam Beneschan
2012-01-06 22:12     ` Robert A Duff
2012-01-31 23:20 ` Yannick Duchêne (Hibou57)
replies disabled

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