comp.lang.ada
 help / color / mirror / Atom feed
From: Georg Bauhaus <bauhaus.rm.tsoh@maps.futureapps.de>
Subject: Re: Exceptions and out procedure arguments (using GNAT GPL)
Date: Wed, 20 Jun 2007 21:16:11 +0200
Date: 2007-06-20T21:13:04+02:00	[thread overview]
Message-ID: <46797c40$0$23133$9b4e6d93@newsspool1.arcor-online.net> (raw)
In-Reply-To: <1d3hk782jujgz$.182e58lrsup7s.dlg@40tude.net>

Dmitry A. Kazakov wrote:
> On Wed, 20 Jun 2007 16:16:58 +0200, Georg Bauhaus wrote:
> 
>> On Wed, 2007-06-20 at 14:58 +0200, Dmitry A. Kazakov wrote:
>>> On Wed, 20 Jun 2007 12:13:29 +0200, Georg Bauhaus wrote:
>>>
>>>> On Wed, 2007-06-20 at 11:29 +0200, Dmitry A. Kazakov wrote:
>>>>> On Wed, 20 Jun 2007 10:46:33 +0200, Georg Bauhaus wrote:
>>>>>
>>>>>>>> And can you document all side effects on by reference (or global)
>>>>>>>> variables at all, in the presence of exceptions?
>>>>>>> That depends on the meaning of "all." Certainly, we cannot control
>>>>>>> side-effects on the CPU's cache or on the green gas emission caused by
>>>>>>> consuming electricity during subprogram execution...
>>>>>> Yes, no need repeating the absurd. So what is the meaning of "all
>>>>>> side effects"?
>>>>> Language-distinguishable sets of program states corresponding the
>>>>> identified elements of the problem space.
>>>> Rephrasing the notion won't help defining it.
>>> OK, give your definition of [side] effect of program execution so that we
>>> could discuss your point.
>> A side effect of a subprogram P is a possible update of an object
>> (in some partition) that is not mentioned in P's parameter profile.
> 
> 1. What is "object"?

Defined for Ada.

> 2. What is "update"?

Assignment.

> 3. Why this does not include "objects" mentioned in the parameter profile?

Because parameters and returns are better described by "effect of P",
not side effect of P. Reasoning/annotations/... will include them,
for sure. (cf. # global in SPARK.)

> 4. Which "updates" are you suggesting not to document?

I'm not suggesting to document or not to document.  I'm suggesting
that documenting all effects (wrt program state) of a subprogram,
including non-local goto is quite ambitious. Can the idea be made
more than a vague hint.


> 6. When?

In principle. Can we have a definition of a correct outcome of P
that includes exceptions raised by P, not handled by P, within the
Ada language framework?
If not, can you describe the extensions needed?


> 7. Why?

Because you said it would be possible, or at least that is what I had
understood. Is it possible, and if you say yes, then how would we
do this in Ada?



  reply	other threads:[~2007-06-20 19:16 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-06-16  1:05 Exceptions and out procedure arguments (using GNAT GPL) Fionn Mac Cumhaill
2007-06-16  1:53 ` Anh Vo
2007-06-16  2:50 ` Brian May
2007-06-16  3:08 ` Randy Brukardt
2007-06-16  6:55 ` Dmitry A. Kazakov
2007-06-18 15:44 ` Adam Beneschan
2007-06-19  5:23   ` Fionn Mac Cumhaill
2007-06-19  7:34     ` Maciej Sobczak
2007-06-19 15:21       ` Adam Beneschan
2007-06-19 20:07         ` Dmitry A. Kazakov
2007-06-19 21:20           ` Adam Beneschan
2007-06-20  6:16             ` Georg Bauhaus
2007-06-20  8:01             ` Dmitry A. Kazakov
2007-06-20  8:45               ` Georg Bauhaus
2007-06-20  9:29                 ` Dmitry A. Kazakov
2007-06-20  6:21           ` Georg Bauhaus
2007-06-20  8:02             ` Dmitry A. Kazakov
2007-06-20  8:46               ` Georg Bauhaus
2007-06-20  9:29                 ` Dmitry A. Kazakov
2007-06-20 10:13                   ` Georg Bauhaus
2007-06-20 12:58                     ` Dmitry A. Kazakov
2007-06-20 14:16                       ` Georg Bauhaus
2007-06-20 18:22                         ` Dmitry A. Kazakov
2007-06-20 19:16                           ` Georg Bauhaus [this message]
2007-06-20 20:40                             ` Dmitry A. Kazakov
2007-06-21  9:52                               ` Georg Bauhaus
2007-06-21 13:48                                 ` Dmitry A. Kazakov
2007-06-22 18:15                                   ` Georg Bauhaus
2007-06-22 19:45                                     ` Dmitry A. Kazakov
2007-06-20 15:15         ` Fionn Mac Cumhaill
2007-06-19 21:40     ` Randy Brukardt
replies disabled

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