for(;;) vs. while(1) is a draw

Blair P. Houghton bph at buengc.BU.EDU
Thu May 31 00:47:33 AEST 1990


In article <894 at hadron.COM> jsdy at hadron.UUCP (Joseph S. D. Yao) writes:
>In article <5916 at buengc.BU.EDU> bph at 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."



More information about the Comp.std.c mailing list