comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Ada2012 : Expression functions and extended return statements
Date: Sat, 7 Jan 2012 10:21:05 +0100
Date: 2012-01-07T10:21:05+01:00	[thread overview]
Message-ID: <1r85q2y2w0wg9$.1wnaqxpos4it9$.dlg@40tude.net> (raw)
In-Reply-To: je887c$a64$1@munin.nbi.dk

On Fri, 6 Jan 2012 19:47:21 -0600, Randy Brukardt wrote:

> "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).

I never care much about exact definitions given in RM in discussions about
Ada as *a* language. They can illustrate the point, but can never serve as
an argument, because to be able to discuss a language or any system you
have to leave it first. If somebody claimed that "jump" would be better
than "goto," then answering that RM 5.8(2) specifies it as "goto" would be
just silly.

> Which is fine, but you confuse the issue when 
> your terminology deviates from the accepted Ada meaning.

But it does its job perfectly well. I mean the job of describing what is
going on, and, note, without resorting to "morphing objects" and other
phantasms.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



  reply	other threads:[~2012-01-07  9:22 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
2012-01-07  9:21                 ` Dmitry A. Kazakov [this message]
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