Article View: comp.std.c
Article #1330Re: for(;;) vs. while(1) is a draw
From: Blair P. Houghton
Date: Wed, 30 May 1990 14:47
Date: Wed, 30 May 1990 14:47
103 lines
5290 bytes
5290 bytes
In article <894@hadron.COM> jsdy@hadron.UUCP (Joseph S. D. Yao) writes: >In article <5916@buengc.BU.EDU> bph@buengc.bu.edu (Blair P. Houghton) writes: >>I did not say the standard requires a compiler to generate >>code in any particular way. I said that a compiler that >>the implementor claimed to be matching the standard's model >>of a hypothetical machine would, in fact, generate >>identical code for !while(1)! and !for(;;)!. > >we now have The >Man's Own Words, so let's see if I wasted thousands of dollars on a >degree in Logic. Do, let's. >While English is an inherently ambiguous language (as are all natural >languages, this being part of their compelling power), I think most Flummery at the outset. "The logic of language is in its syntax," Rudy Carnap, _The Logical Syntax of Language_, 1937 (or was it 1939?). I'll agree that, when misused or misread, or explicitly seeded with ambiguity, any language can express ambiguity. However, no language is intrinsically ambiguous. Their "compelling power" is moot. >would agree that "... a compiler that the implementor claimed ... >[above]" Is logically equivalent to "If the implementor claims that a >compiler matches the standard's model of a hypothetical machine, then >that compiler would, in fact [or, necessarily - j] generate identical >code for ...". Better, but this is just the summary of what's gone before. >Now, our universe of discourse in this newsgroup is >precisely the C standard and matters pertaining to it. >Compilers for which the "If" clause of the above statement >are untrue are, for our purposes, not within the universe >of discourse. Fail. There is no "universe of discourse." Any group may have a certain central theme, but it is likely through pure entropy to contain topics completely unrelated, and justifiably often may contain topics just beyond the fringes of the theme. >Therefore, let us >assume the "If" clause trivially true. You made the right choice, but for the wrong reasons. You should first assume it true and examine the effect on what follows; then you should assume it false and examine the effect. If you did, you'd find it quite consistent. >The statement then boils down >to "That compiler would [necessarily] generate identical code for ...". >Now, The Man has stated that he is not saying "the standard requires a >compiler to generate code in any particular way." My perception is >that there is a contradiction here. Your perception is utterly bogus, especially since your logic (up to the words "there is a contradiction") seems correct, even if your assumptions are untenable. "The Man" does not claim that the standard requires an conforming compiler to generate code in any particular way (nor even to generate code, which makes it not much of a compiler, eh?). It is the _implementor's_ decision to follow the standard's syntax and semantics precisely, to the letter, and without optimization; and, it is the _implementor's_ claim that it does so that produces that requirement. You may argue that such claims still produce no requirement, and you'd get an argument back. That's fine. You might even convince me that I'm wrong on that point. Don't bet real money on it, though. What I refuse to be civil about, however, is the cavalier disregard some people seem to have for logically complete statements. Doug's now posted several of my prior messages and made illogical inferences from them, following exactly this fallacy: he and everyone else seems to ignore the subjunctive clause "if the implementor claims..." This is reprehensible among logicians (what do you think is the principal function of standards and regulations), and deserves neither mercy nor civility. >Now, I admit to being human, and making a lot of errors, even some >obvious ones. My wife would certainly agree to that (sometimes). So >perhaps my perception here is flawed. I'm sure I made a mistake in the >introduction, namely, if I want a certain person to read this object- >ively, I shouldn't have referred slightingly to language habits over >which he perhaps has no control. However, if I have made any mistakes >in the above analysis, I would appreciate people MAILing them to me, >and I will post any reasonable ones I receive. Thank you. Again, a fallacy. If you post, you are open to replies in public, especially when your contentions are in the vein of denigrating the writings of others, however even-handed and calm you may be. --Blair "Courtesy is fine, but don't expect social courtesy when you're breaking the rules of logic left and right."
Technical Details
Message-ID:
<5926@buengc.BU.EDU>Path:
arc1-ca.pugleaf.net!utzoo!attcan!uunet!cs.utexas.edu!uwm.edu!rpi!bu.edu!buengc!bphReferences:
<5876@buengc.BU.EDU> <12955@smoke.BRL.MIL> <5879@buengc.BU.EDU> <Z4O3P:2@xds13.ferranti.com> <5904@buengc.BU.EDU> <0:P3-A6@ggpc2.ferranti.com> <5916@buengc.BU.EDU> <894@hadron.COM>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!cs.utexas.edu!uwm.edu!rpi!bu.edu!buengc!bph From: bph@buengc.BU.EDU (Blair P. Houghton) Newsgroups: comp.std.c Subject: Re: for(;;) vs. while(1) is a draw Message-ID: <5926@buengc.BU.EDU> Date: 30 May 90 14:47:33 GMT References: <5876@buengc.BU.EDU> <12955@smoke.BRL.MIL> <5879@buengc.BU.EDU> <Z4O3P:2@xds13.ferranti.com> <5904@buengc.BU.EDU> <0:P3-A6@ggpc2.ferranti.com> <5916@buengc.BU.EDU> <894@hadron.COM> Reply-To: bph@buengc.bu.edu (Blair P. Houghton) Followup-To: comp.std.c Organization: Boston Univ. Col. of Eng. Lines: 103