comp.lang.ada
 help / color / mirror / Atom feed
From: "Robert I. Eachus" <rieachus@comcast.net>
Subject: Re: "continue/next" for "loop"
Date: Mon, 03 Nov 2003 11:49:42 -0500
Date: 2003-11-03T11:49:42-05:00	[thread overview]
Message-ID: <GaOdnQutOP61GjuiRVn-hQ@comcast.com> (raw)
In-Reply-To: <bo5l0g$f2n$1@news.uni-stuttgart.de>

Peter Hermann wrote:

> assuming the number of keywords 69 constant,
> we could imagine these:

I actually think we are going to get one or two new reserved words in 
Ada 200X.

> goto loop [loopid];
> 
> or
> 
> exit [loopid] not [when ...];

But I think in the case of loops, there are clearly two specialized 
forms of goto that should be considered:

goto exit; -- exit innermost enclosing loop.
exit loop; -- alternative syntax. ;-)

and

goto end; -- skip to start of next loop iteration.
goto loop;
goto begin;

For the first case, I think that "exit loop" is probably the preferred 
notation.  It really is a goto in disguise, but one that need not be 
prohibited by those coding standards that prohibit gotos. ;-)

For the second, I am not sure whether "goto loop" or "goto end" is 
better.  In either case it really is a goto.  Other possibilities 
include "goto for" and "goto while," but this construct will IMHO often 
be used in loops with no for or while clauses.

Back to the earlier discussion about "with and use,"  I think that "exit 
loop" and "goto loop," if added to the language would clearly enhance 
readability and maintainability.



-- 
 
Robert I. Eachus

100% Ada, no bugs--the only way to create software.




  reply	other threads:[~2003-11-03 16:49 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-11-03 12:55 "continue/next" for "loop" amado.alves
2003-11-03 13:06 ` Lutz Donnerhacke
2003-11-03 13:07 ` Lutz Donnerhacke
2003-11-03 13:25   ` Peter Hermann
2003-11-03 16:49     ` Robert I. Eachus [this message]
2003-11-03 18:21       ` (see below)
2003-11-03 18:52       ` Jeffrey Carter
2003-11-03 20:11         ` Lutz Donnerhacke
2003-11-04  1:23         ` Robert I. Eachus
2003-11-03 13:33   ` James Rogers
2003-11-03 13:46     ` Lutz Donnerhacke
2003-11-03 13:39   ` Dmitry A. Kazakov
2003-11-03 13:54   ` Ole-Hjalmar Kristensen
2003-11-03 14:56     ` Lutz Donnerhacke
2003-11-03 15:08   ` Stefan Lucks
2003-11-03 15:40     ` Lutz Donnerhacke
2003-11-05 10:36   ` Charles Lindsey
2003-11-05 18:05     ` Lutz Donnerhacke
2003-11-06  9:48     ` Martin Dowie
2003-11-07 14:54       ` Charles Lindsey
2003-11-07 16:24         ` Martin Dowie
2003-11-07 17:34         ` Jeffrey Carter
2003-11-05 14:45   ` Jim Rogers
  -- strict thread matches above, loose matches on Subject: below --
2003-11-03 15:44 amado.alves
2003-11-03 22:12 ` Dmytry Lavrov
2003-11-03 22:27 ` Gautier Write-only
2003-11-03 13:54 amado.alves
2003-11-03 13:45 christoph.grein
2003-11-03 14:23 ` Preben Randhol
2003-11-03 15:01   ` Lutz Donnerhacke
2003-11-03 15:19     ` Dmitry A. Kazakov
2003-11-03 18:33       ` Chad R. Meiners
2003-11-03 15:48     ` Preben Randhol
2003-11-03 18:50     ` Georg Bauhaus
2003-11-03 15:00 ` Lutz Donnerhacke
2003-11-03 10:48 Lutz Donnerhacke
2003-11-03 10:51 ` Preben Randhol
2003-11-03 10:55   ` Preben Randhol
2003-11-03 11:01   ` Lutz Donnerhacke
2003-11-04  3:11 ` Steve
2003-11-05 15:54 ` sk
2003-11-06 15:40   ` Stephen Leake
2003-11-06 18:27     ` sk
2003-11-06 15:39 ` Stephen Leake
replies disabled

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