From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: stopping a loop iteration without exiting it
Date: Thu, 4 Jan 2018 22:17:53 +0100
Date: 2018-01-04T22:17:53+01:00 [thread overview]
Message-ID: <p2m5m0$16p3$1@gioia.aioe.org> (raw)
In-Reply-To: wccd12p4das.fsf@TheWorld.com
On 2018-01-04 20:46, Robert A Duff wrote:
> "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> writes:
>
>> P.P.S. When-for-everyone is long overdue:
>>
>> goto <label> when <condition>;
>> return [<result>] when <condition>;
>> raise <exception> [with <message>] when <condition>;
>
> Those were all proposed for Ada 9X. They were rejected,
> IIRC, because they're mere "nice to haves", and the mood
> was generally "simplify by removing features". (Since the
> above make the language more uniform, adding them arguably
> simplifies.)
Yes, if you cannot reject it for being too complex, then blame it too
simple. (:-))
> I don't think anyone ever suggested:
>
> X := X + 1 when X < Integer'Last;
I thought about really important cases, but could not invent syntax:
if X in T'Class then
declare
Same_X : T'Class renames T'Class (X);
begin
...
end;
end if;
and
if P /= null then
declare
X : P_Type renames P.all;
begin
...
end;
end if;
and
declare
X : Access_To_Parent_Class := new Derived;
Same_X : Derived renames Derived (X.all);
begin
...
return X; -- Parent's class result
end;
a combination of a test and a renaming.
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
next prev parent reply other threads:[~2018-01-04 21:17 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 [this message]
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.
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