Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail From: Richard Heathfield Newsgroups: comp.theory Subject: Re: Every sufficiently competent C programmer knows Date: Tue, 11 Mar 2025 14:13:34 +0000 Organization: Fix this later Lines: 78 Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Tue, 11 Mar 2025 15:13:35 +0100 (CET) Injection-Info: dont-email.me; posting-host="e140e83e0fdcc599ec997207e186ae4a"; logging-data="2109748"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19zY8Sxe5+VR4gTAPTiVICUwkt7WtwL+hFRELY0RBcyjw==" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:0ujmtsDLbhRtoMJEyDM3kTECGQI= Content-Language: en-GB In-Reply-To: Bytes: 3597 On 11/03/2025 14:02, Mikko wrote: > On 2025-03-11 13:26:55 +0000, olcott said: > >> On 3/11/2025 5:01 AM, Richard Heathfield wrote: >>> On 11/03/2025 08:55, Fred. Zwarts wrote: >>>> Op 11.mrt.2025 om 00:41 schreef olcott: >>>>> typedef void (*ptr)(); >>>>> int HHH(ptr P); >>>>> >>>>> void Infinite_Loop() >>>>> { >>>>>    HERE: goto HERE; >>>>>    return; >>>>> } >>>>> >>>>> void Infinite_Recursion() >>>>> { >>>>>    Infinite_Recursion(); >>>>>    return; >>>>> } >>>>> >>>>> void DDD() >>>>> { >>>>>    HHH(DDD); >>>>>    return; >>>>> } >>>>> >>>>> int DD() >>>>> { >>>>>    int Halt_Status = HHH(DD); >>>>>    if (Halt_Status) >>>>>      HERE: goto HERE; >>>>>    return Halt_Status; >>>>> } >>>>> >>>>> That when HHH correctly emulates N steps of the >>>>> above functions that none of these functions can >>>>> possibly reach their own "return" instruction >>>>> and terminate normally. >>>>>> >>>>> >>>>> Since HHH does see that same pattern that competent >>>>> C programmers see it correctly aborts its emulation >>>>> and rejects these inputs as non terminating. >>>> >>>> All competent C programmers see that HHH correctly reports >>>> that it cannot possibly reach the 'return' instruction. >>> >>> First, my credentials. I've been programming in C for over 35 >>> years; I'm told that my book on C has been used on two >>> undergraduate Comp Sci courses (one in the States and one in >>> the UK); and I have my Knuth cheque. I don't claim to be any >>> kind of programming guru, but I hope I do not overstate the >>> case when I suggest that I can be regarded as competent not >>> just as a programmer but specifically in the C language. >>> >>> And yet I can't even /see/ HHH, let alone judge what it does >>> or does not do correctly. All I see is a call to it. >> >> It is stipulated that HHH correctly emulates N >> steps of the x86 machine code of its input functions. >> This may or may not include HHH emulating itself >> emulating an input. > > The stipulation does not include the value of N (although a > reasonable > interpretation is that it is finite). Nor does the stipulation > specify > what HHH does after the emulation. Nor does the stipulation hold any water. -- Richard Heathfield Email: rjh at cpax dot org dot uk "Usenet is a strange place" - dmr 29 July 1999 Sig line 4 vacant - apply within