Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site cca.UUCP Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!think!harvard!bbnccv!bbncca!wanginst!infinet!emacs!cca!alex@cca.UUCP (Alexis Layton) From: alex@cca.UUCP (Alexis Layton) Newsgroups: net.lang.c Subject: Multi-exit loops Message-ID: <4803@cca.UUCP> Date: Wed, 6-Nov-85 19:00:32 EST Article-I.D.: cca.4803 Posted: Wed Nov 6 19:00:32 1985 Date-Received: Mon, 11-Nov-85 05:13:58 EST Sender: alex@cca.UUCP Reply-To: alex@cca-unix.ARPA (Alexis Layton) Organization: Computer Corp. of America, Cambridge Lines: 15 In the most recent SIGPLAN Notices (Vol. 20, No. 11; November 1985) there is what I consider to be an excellent article by P. A. Buhr entitled "A Case for Teaching Multi-exit Loops to Beginning Programmers". While he does make several good points about why beginning programmers should learn these concepts, the bulk of the article is a very cogent argument about why languages should support a multi-exit loop construct. He differentiates between the common of use of C's "break" statement (and equivalent statements such as Ada's "exit") and a more syntactic loop-exiting statement which can only occur in the "top-level" (so to speak) of the loop body. While I primarily agree with his recommendations (and I hope new language designers are familiar with his reasoning), the kind of loop construct involved is too foreign to the style of C to integrate it in any way. I fear that attempts to use the preprocessor to enforce any kind of loop-like construct are doomed to produce confusing code. Alexis Layton Computer Corporation of America alex@cca-unix.ARPA decvax!cca!alex