comp.lang.ada
 help / color / mirror / Atom feed
From: "Jeffrey R. Carter" <spam.jrcarter.not@spam.not.acm.org>
Subject: Re: Building an encapsulated library that uses GNAT sockets under Windows
Date: Wed, 27 Apr 2016 16:43:06 -0700
Date: 2016-04-27T16:43:06-07:00	[thread overview]
Message-ID: <nfrijv$k74$1@dont-email.me> (raw)
In-Reply-To: <nfrdn6$iho$1@loke.gir.dk>

On 04/27/2016 03:16 PM, Randy Brukardt wrote:
>
>      loop
>           {some code}
>           if something then
>               goto Continue;
>           end if;
>           {more code}
>      <<Continue>> -- Ada 95 requires "null;" here, Ada 2012 does not.
>      end loop;
>
> To completely eliminate the goto, one has to use a Boolean variable instead,
> or duplicate parts of the loop; both of those obscure what is going on more
> than the goto.

This claim is completely untrue. The example loop is equivalent to

loop
    {some code}
    if not something then
       {more code}
    end if;
end loop;

No Boolean variable (not already present), no duplication of parts of the loop, 
and less obscuration that the goto, which could go almost anywhere, while the if 
must terminate within the loop. It's easier to find the end of the if than it is 
to find the target of the goto. A conditional continue statement is always 
equivalent to such an if.

-- 
Jeff Carter
"We'll make Rock Ridge think it's a chicken
that got caught in a tractor's nuts!"
Blazing Saddles
87

  reply	other threads:[~2016-04-27 23:43 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-21 12:59 Building an encapsulated library that uses GNAT sockets under Windows Dmitry A. Kazakov
2016-04-22  7:58 ` ahlan.marriott
2016-04-22  8:23   ` Dmitry A. Kazakov
2016-04-23  9:20     ` Ahlan
2016-04-23  9:48       ` Dmitry A. Kazakov
2016-04-23 14:45         ` ahlan.marriott
2016-04-23 19:56           ` Dmitry A. Kazakov
2016-04-23 21:16             ` Simon Wright
2016-04-24  8:13               ` ahlan
2016-04-24  8:31                 ` Simon Wright
2016-04-26 19:43                   ` ahlan.marriott
2016-04-26 20:24                     ` Simon Wright
2016-04-26 22:32                     ` Jeffrey R. Carter
2016-04-27 22:16                     ` Randy Brukardt
2016-04-27 23:43                       ` Jeffrey R. Carter [this message]
2016-04-28  5:18                         ` J-P. Rosen
2016-04-28  5:59                           ` Jeffrey R. Carter
2016-05-09 22:32                             ` David Thompson
2016-04-28 20:23                         ` Randy Brukardt
2016-04-28 21:47                           ` Jeffrey R. Carter
2016-04-28  5:13                       ` J-P. Rosen
2016-04-26 20:20               ` Dmitry A. Kazakov
2016-04-26 21:23                 ` Simon Wright
2016-04-27  6:53                   ` Simon Wright
2016-04-27  7:25                     ` ahlan
2016-04-27  8:27                   ` Dmitry A. Kazakov
2016-04-27  9:59                     ` Simon Wright
replies disabled

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