From: G. B. <nonlegitur@nmhp.invalid>
Subject: Re: stopping a loop iteration without exiting it
Date: Sat, 6 Jan 2018 01:19:37 -0000 (UTC)
Date: 2018-01-06T01:19:37+00:00 [thread overview]
Message-ID: <p2p879$3n9$1@dont-email.me> (raw)
In-Reply-To: 87shbki0et.fsf@nightsong.com
Paul Rubin <no.email@nospam.invalid> wrote:
> "; as
> Mart van de Wege says, you could use GOTO for everything so none of it
> is needed. The question is whether it improves code readability,
> reliability, developer productivity, etc.
Another question is what the alternative really is.
Having both read and written Perl text, I still find it
more promising to start a filter written like this:
loop
Process (Line, Result => Classification);
case Classification is
when Throwaway =>
null;
when Hit =>
Handle (Factory.Make (Input => Line));
when Unclear =>
Report (Line);
end case;
Get_Line (Line);
end loop;
Subprogram Process then looks at a single line
of input, in a way that is similar to the pattern parts
of AWK programs. Actions are triggered by Handle
only.
Perl’s continue block has one noteworthy piece
of design, I think. It allows expressing something
that is going to happen each time around the loop
irrespective of the loop’s other control structure.
There doesn’t seem to be a way to express this
fact clearly in most languages, including Ada.
Conventions and idioms aren’t the same thing
as a special structure provided by the language.
while (Conditions) {
...
} continue {
...
}
I am not convinced, though, that an uncontrollable
iteration is a Good Thing.
next prev parent reply other threads:[~2018-01-06 1:19 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
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. [this message]
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