comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: stopping a loop iteration without exiting it
Date: Fri, 12 Jan 2018 09:20:45 +0100
Date: 2018-01-12T09:20:45+01:00	[thread overview]
Message-ID: <p39r4s$qod$1@gioia.aioe.org> (raw)
In-Reply-To: p38iul$t2h$1@dont-email.me

On 11/01/2018 21:54, G. B. wrote:
> Dmitry A. Kazakov <mailbox@dmitry-kazakov.de> wrote:
> 
>>>> I have no idea what this is supposed to mean.
>>>
>>>
>>> L:
>>> [for|while...] loop
>>> ...
>>> goto L;
>>> ...
>>> end loop L;
>>>
>>> Both outer Ls are part of what indicates the beginning
>>> and end of the loop, resp. So, as others said in this thread,
>>> there is syntactical ambiguity when using L with goto.
>>> The meaning of the goto L is not clear or agreed upon
>>> either, as readers here have said.
>>
>> Substitute "exit" for "goto" and reread your text.
> 
> When writing, I also thought about “return” and about
> exceptions, not just about “exit”. But none of them has
> the potential of driving the iterative process, they just
> leave it, the building block. It will be over.

So what? In either case actions are non-trivial because they potentially 
involve finalization of objects and types.

> loop is intended for the opposite, for when it’s not over yet.
> For when it’s done again. “exit” cannot mean that, but the
> hypothesized goto can.

1. "exit" can:

    exit when <condition>;

When condition evaluates false the loop continues.

2. "goto" cannot in any deeper sense than "exit" does because it is not 
"goto" which would drive the loop in this case.

>>> A loop statement is a means of controlling flow. So is goto.
>>> A loop controls iteration. Suppose that an additional
>>> goto is needed to express that. Then this thread will
>>> have discovered that Ada loops are deficient as building
>>> blocks of iteration.
>>
>> Substitute "if" for "goto".
> 
> Actually, “if” itself cannot directly make the program
> iterate, unlike “goto”.

Not in the case at hand.

P.S. Take if + a subroutine call. That gives recursion. Then following 
your flawed logic either if or loop is bad.

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

  reply	other threads:[~2018-01-12  8:20 UTC|newest]

Thread overview: 80+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-03 16:54 stopping a loop iteration without exiting it Mehdi Saada
2018-01-03 17:23 ` Lucretia
2018-01-03 21:19   ` Randy Brukardt
2018-01-03 23:17     ` Robert A Duff
2018-01-04  8:47       ` Niklas Holsti
2018-01-05  1:31         ` Randy Brukardt
2018-01-04 10:08       ` Jeffrey R. Carter
2018-01-04 11:02         ` Dmitry A. Kazakov
2018-01-04 19:46           ` Robert A Duff
2018-01-04 20:47             ` Mehdi Saada
2018-01-04 21:17             ` Dmitry A. Kazakov
2018-01-04 23:08               ` Niklas Holsti
2018-01-05  8:38                 ` Dmitry A. Kazakov
2018-01-06 16:50                   ` Niklas Holsti
2018-01-06 17:20                     ` Dmitry A. Kazakov
2018-01-07 11:36                       ` Niklas Holsti
2018-01-07 12:05                         ` Dmitry A. Kazakov
2018-01-07 21:22                           ` Niklas Holsti
2018-01-08  8:35                             ` Dmitry A. Kazakov
2018-01-08 20:57                       ` Randy Brukardt
2018-01-08 21:19                         ` Dmitry A. Kazakov
2018-01-08 21:48                           ` Submitting requests to the ARG, was: " Simon Clubley
2018-01-09  9:45                             ` Dmitry A. Kazakov
2018-01-08 22:35                         ` Jeffrey R. Carter
2018-01-05 16:34               ` Robert A Duff
2018-01-05 19:09                 ` G. B.
2018-01-07 11:52               ` Niklas Holsti
2018-01-07 12:27                 ` Dmitry A. Kazakov
2018-01-06  0:53           ` Keith Thompson
2018-01-06  8:36             ` Dmitry A. Kazakov
2018-01-06  8:49               ` gautier_niouzes
2018-01-06  9:26                 ` Dmitry A. Kazakov
2018-01-08 11:05                 ` mockturtle
2018-01-09 11:05               ` AdaMagica
2018-01-09 11:26                 ` Dmitry A. Kazakov
2018-01-09 12:50                   ` Simon Wright
2018-01-09 13:07                     ` Dmitry A. Kazakov
2018-01-09 13:47                       ` Dennis Lee Bieber
2018-01-09 14:53                         ` Dmitry A. Kazakov
2018-01-09 20:07                           ` G. B.
2018-01-10  8:13                             ` Dmitry A. Kazakov
2018-01-10 21:14                               ` G. B.
2018-01-11 12:48                                 ` AdaMagica
2018-01-11 20:54                                   ` G. B.
2018-01-11 13:06                                 ` Dmitry A. Kazakov
2018-01-11 17:11                                   ` Simon Wright
2018-01-11 17:30                                     ` Dmitry A. Kazakov
2018-01-11 18:09                                       ` Simon Wright
2018-01-11 20:54                                   ` G. B.
2018-01-12  8:20                                     ` Dmitry A. Kazakov [this message]
2018-01-12  9:22                                       ` G. B.
2018-01-12  9:42                                         ` Dmitry A. Kazakov
2018-01-10 10:52                       ` AdaMagica
2018-01-10 11:14                         ` Dmitry A. Kazakov
2018-01-10 11:21                           ` AdaMagica
2018-01-10 13:47                             ` Dmitry A. Kazakov
2018-01-04 21:52         ` Mart van de Wege
2018-01-05 13:17           ` Jeffrey R. Carter
2018-01-05 14:35             ` Mart van de Wege
2018-01-05 15:21               ` Jeffrey R. Carter
2018-01-05 19:13                 ` Paul Rubin
2018-01-05 23:50                   ` Randy Brukardt
2018-01-06  1:19                   ` G. B.
2018-01-06  9:59                   ` Jeffrey R. Carter
2018-01-05  1:17         ` Randy Brukardt
2018-01-05 14:05           ` Jeffrey R. Carter
2018-01-05 23:58             ` Randy Brukardt
2018-01-04 12:43     ` gautier_niouzes
2018-01-03 17:28 ` Jeffrey R. Carter
2018-01-03 18:27 ` Mehdi Saada
2018-01-06  0:26 ` Matt Borchers
2018-01-06 22:04   ` J-P. Rosen
2018-01-07  2:05     ` Matt Borchers
2018-01-08 20:49   ` Randy Brukardt
2018-01-07 11:33 ` Mehdi Saada
2018-01-07 11:45   ` Simon Wright
2018-01-08  0:58   ` Matt Borchers
2018-01-07 17:47 ` Micah Waddoups
2018-01-07 21:04   ` Simon Wright
2018-01-23  3:49 ` Robert Eachus
replies disabled

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