Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site brl-tgr.ARPA Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!think!harvard!seismo!brl-tgr!tgr!gwyn@BRL.ARPA From: gwyn@BRL.ARPA (VLD/VMB) Newsgroups: net.lang.c Subject: Re: break, continue, return, goto Message-ID: <3242@brl-tgr.ARPA> Date: Fri, 15-Nov-85 02:25:56 EST Article-I.D.: brl-tgr.3242 Posted: Fri Nov 15 02:25:56 1985 Date-Received: Sat, 16-Nov-85 09:51:03 EST Sender: news@brl-tgr.ARPA Lines: 20 Just a note on the nondeterministic "if" (a.k.a. Dijkstra's guarded command construct): The selected case need NOT be picked "at random". The choice need not even be "fair" in a statistical sense, for most uses of this construct. The implementation can e.g. always pick the first true case; however, the programmer is not allowed to make use of this implementation detail. The claim that such a language differs from what is needed in a "real language" needs some substantiation. Since this newsgroup is for C, however, further dialogue on this should be conducted elsewhere. (By the way, Dijkstra's "A Discipline of Programming" is a real classic. A funny thing is, he claims that his discipline results in correct programs, but there are at least three known bugs in his examples.) David Gries wrote a textbook on the same subject which is probably more accessible to most programmers. I think it was entitled "The Science of Computer Programming". I hope more people study this subject, so I will have fewer bugs to deal with in the future.