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.
next prev parent 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