comp.lang.ada
 help / color / mirror / Atom feed
From: Maciej Sobczak <see.my.homepage@gmail.com>
Subject: Re: Containers - nontrivial element access
Date: Wed, 03 Oct 2007 12:59:58 -0700
Date: 2007-10-03T12:59:58-07:00	[thread overview]
Message-ID: <1191441598.702440.314410@22g2000hsm.googlegroups.com> (raw)
In-Reply-To: <1191363628.908691.313970@k79g2000hse.googlegroups.com>

On 3 Pa , 00:20, Matthew Heaney <mhea...@on2.com> wrote:

> > BTW - above, PX plays the role of that additional variable that is
> > sneaked around to the second procedure. Here it just pretends to not
> > exist by taking the form of a parameter in the outer procedure. I
> > don't think there is a reasonable way to avoid it.
>
> The number of "additional variables" is exactly the same in both the C+
> + and Ada examples.  The only difference is how the variables are
> named.

No. The difference is in whether the subprogram's protocol is fully
described by its signature.

Your nested procedures have the signature that gives provisions for
one parameter only. The other one is sneaked in bypassing the
signature (so that the protocol is wider than the signature and this
is not explicit). This hinders analysis.

I can even think about coding standards that explicitly forbid
subprograms that use anything other than what is in their signature
(except for the main subprogram, which might need to access some
library-level objects).

Your solution requires some dose of liberal thinking, which I'm not
easily willing to accept in the language that boasts high-integrity
mindset. ;-)

--
Maciej Sobczak * www.msobczak.com * www.inspirel.com




  reply	other threads:[~2007-10-03 19:59 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-10-01 21:55 Containers - nontrivial element access Maciej Sobczak
2007-10-01 23:52 ` Alex R. Mosteo
2007-10-02 16:40   ` Matthew Heaney
2007-10-02 23:16     ` Alex R. Mosteo
2007-10-02 20:47   ` Maciej Sobczak
2007-10-02 23:23     ` Alex R. Mosteo
2007-10-02  0:39 ` Jeffrey R. Carter
2007-10-02 16:44   ` Matthew Heaney
2007-10-03  0:20     ` Jeffrey R. Carter
2007-10-03 19:40       ` Maciej Sobczak
2007-10-03 19:56         ` Matthew Heaney
2007-10-03 20:21           ` Dmitry A. Kazakov
2007-10-03 22:37             ` Matthew Heaney
2007-10-04  8:06               ` Dmitry A. Kazakov
2007-10-03 22:02         ` Jeffrey R. Carter
2007-10-04  0:16         ` Robert A Duff
2007-10-07  8:41           ` Jacob Sparre Andersen
2007-10-11 19:15             ` Robert A Duff
2007-10-14  4:59               ` Jacob Sparre Andersen
2007-10-14  7:24                 ` Dmitry A. Kazakov
2007-10-14 13:49                   ` Georg Bauhaus
2007-10-14 15:07                     ` Dmitry A. Kazakov
2007-10-02 20:50   ` Maciej Sobczak
2007-10-03  0:22     ` Jeffrey R. Carter
2007-10-03  8:26       ` Dmitry A. Kazakov
2007-10-03 18:49         ` Jeffrey R. Carter
2007-10-03 19:09           ` Matthew Heaney
2007-10-03 19:15           ` Simon Wright
2007-10-03 19:48             ` Maciej Sobczak
2007-10-03 19:58             ` Matthew Heaney
2007-10-03 19:35           ` Dmitry A. Kazakov
2007-10-02  2:34 ` Randy Brukardt
2007-10-02 16:47   ` Matthew Heaney
2007-10-02  7:23 ` Dmitry A. Kazakov
2007-10-02 16:37 ` Matthew Heaney
2007-10-02 21:02   ` Maciej Sobczak
2007-10-02 22:20     ` Matthew Heaney
2007-10-03 19:59       ` Maciej Sobczak [this message]
2007-10-03 22:55         ` Matthew Heaney
2007-10-04  0:22         ` Robert A Duff
2007-10-04 13:01         ` Georg Bauhaus
2007-10-04 14:01           ` Matthew Heaney
2007-10-04 21:58           ` Matthew Heaney
replies disabled

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