Deutsch English Français Italiano |
<100dscu$18b5s$1@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail From: Richard Heathfield <rjh@cpax.org.uk> Newsgroups: comp.theory Subject: Re: Overcoming the proof of undecidability of the Halting Problem by a simple example in C Date: Mon, 19 May 2025 01:01:34 +0100 Organization: Fix this later Lines: 48 Message-ID: <100dscu$18b5s$1@dont-email.me> References: <1005jsk$3akrk$1@dont-email.me> <bc6f0f045212bdfb7f7d883426873a09e37789ea@i2pn2.org> <1005u6v$3cpt2$1@dont-email.me> <1005v0p$3b07v$1@dont-email.me> <10063u0$3dmiv$1@dont-email.me> <1006on8$3l9t7$1@dont-email.me> <1007kgq$3qb7l$9@dont-email.me> <1009lm9$b15q$1@dont-email.me> <100ceum$uvq0$1@dont-email.me> <87ecwl1s2p.fsf@bsb.me.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Mon, 19 May 2025 02:01:36 +0200 (CEST) Injection-Info: dont-email.me; posting-host="be58ce700b7a791d98bdef6cb205f490"; logging-data="1322172"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+bFuA7WWNvbeplQ06DX0HHHQBcEjmgPKZAc5YP0kDXIQ==" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:aDJz32qF6rMjbPIhNcp69rNG0KU= In-Reply-To: <87ecwl1s2p.fsf@bsb.me.uk> Content-Language: en-GB Bytes: 2843 On 18/05/2025 23:18, Ben Bacarisse wrote: > Richard Heathfield <rjh@cpax.org.uk> writes: > ... >> If they know C they should know that it's >> u32 HHH(void (*P)()), according to Halt7.c. >> >> It takes a pointer to a function that accepts no arguments and returns no >> value. > > Yes, but I am surprised that you are being so modern!! You used to > favour C90 and didn't really care for anything more recent. I am just as surprised that you missed the distinction I was making, which was between these: void HHH(void (*f)(void)) u32 HHH(void (*P)()) Empty parentheses had nothing to do with my point. On line 16 we find: typedef uint32_t u32; uint32_t != void. > Empty ()s in a declarator were made obsolete in C17 and made equivalent > to (void) in C23. Prior to C23 a parameter that is pointer to a > function taking no arguments would have to have been written as > > u32 HHH(void (*P)(void)) > > and after C23 the (probable) intended meaning would have to be written > as > > u32 HHH(void (*P)(...)) but not void HHH(void (*f)(void)), eh? > (Caveat: I'm not properly up to date anymore and, this not being > comp.lang.c, I may not be corrected by People Who Really Know.) I have no doubt you're right about (), but that wasn't the point I was making. -- 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