From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: fac41,9a0ff0bffdf63657 X-Google-Attributes: gidfac41,public X-Google-Thread: f43e6,9a0ff0bffdf63657 X-Google-Attributes: gidf43e6,public X-Google-Thread: 1108a1,9a0ff0bffdf63657 X-Google-Attributes: gid1108a1,public X-Google-Thread: 103376,4b06f8f15f01a568 X-Google-Attributes: gid103376,public From: dewar@merv.cs.nyu.edu (Robert Dewar) Subject: Re: Why C++ is successful Date: 1998/08/16 Message-ID: #1/1 X-Deja-AN: 381660410 References: <6qfhri$gs7$1@nnrp1.dejanews.com> <35cb8058.645630787@news.ne.mediaone.net> <902934874.2099.0.nnrp-10.c246a717@news.demon.co.uk> <6r1e1a$mj$1@platane.wanadoo.fr> X-Complaints-To: usenet@news.nyu.edu X-Trace: news.nyu.edu 903278676 20414 (None) 128.122.140.58 Organization: New York University Newsgroups: comp.lang.eiffel,comp.object,comp.software-eng,comp.lang.ada Date: 1998-08-16T00:00:00+00:00 List-Id: JPR says loop Inner: for J in 1 .. N - 1 loop if D (J) > D (J + 1) then Swap (D(J), D(J + 1)); exit Inner; end if; end loop; reflects my intent better. Amusing -- shows how difficult it is to get rid of the goto, be clearer, *and* be correct all at the same time if JPR can't do it right. First the above code is obviously syntactically incorrect, since it is missing end loop Inner. If we put in the end at the obvious point: loop Inner: for J in 1 .. N - 1 loop if D (J) > D (J + 1) then Swap (D(J), D(J + 1)); exit Inner; end if; end loop Inner; end loop; then of course we have an infinite loop, since here is no exit from the outer loop. An attempt like this (by a *very* experienced programmer :-) helps prove my point I think ...