Sujet : Re: Flibble’s Leap: Why Behavioral Divergence Implies a Type Distinction in the Halting Problem
De : Keith.S.Thompson+u (at) *nospam* gmail.com (Keith Thompson)
Groupes : comp.theoryDate : 12. May 2025, 04:11:55
Autres entêtes
Organisation : None to speak of
Message-ID : <87frha4j5w.fsf@nosuchdomain.example.com>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
User-Agent : Gnus/5.13 (Gnus v5.13)
Richard Heathfield <
rjh@cpax.org.uk> writes:
[...]
ALL C compilers are required to diagnose ALL syntax errors and ALL
constraint violations.
Yes, all conforming C compilers are required to do that. (Well,
strictly speaking they're only required to issue at least one diagnostic
for any translation unit that violates a syntax rule or constraint.)
[...]
In my experience, Microsoft's C compiler - although not perfect - is
pretty good at following conformance rules. I'd be surprised to learn
from a competent source that it misses a syntax error.
I wouldn't, since few if any C compilers are conforming by default.
I've just tried 4 different C compilers (gcc, clang, and tcc
on Ubuntu, MS Visual Studio 2022 on Windows), and none of them
diagnosed a stray semicolon at file scope *by default*. gcc and
clang can be persuaded to diagnose it. tcc, as far as I can tell,
cannot; I don't believe it claims to be fully conforming in any mode.
I wasn't able to get MSVS to diagnose it, but there could easily
be an option that I'm missing.
If I wanted to prove something in mathematical logic using C code as
a vehicle, I personally would try to use fully standard-conforming C.
I *might* consider using a more lax C-like language, such as the
language accepted by some C compiler in its default mode -- but I'd
need a good reason to do that, and I'd want a rigorous definition
of anything I use that differs from standard C.
It's possible that olcott's C-like code has well defined behavior
in the implementation he's using. If so, I'm not sure there's any
fundamental reason to use something close to C rather than using C
itself in an attempted refutation of some well known mathematical
proof. (I wouldn't expect either C or something C-like to be a
good vehicle for such a proof. I don't think C is defined rigorously
enough to be useful for such a task, and any C-like language is even
less so.)
olcott will likely use this to claim that I support his views.
He will be wrong.
[...]
-- Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.comvoid Void(void) { Void(); } /* The recursive call of the void */