Liste des Groupes | Revenir à theory |
On 5/25/2025 12:48 PM, Richard Heathfield wrote:HHH needs to report on the input. It is irrelevant whether it is its caller or not. The input is a pointer to a function in memory. This memory also includes all functions called by DDD. In particular it includes the code of Halt7.c, which specifies the abort. Therefore the input specifies a halting program. That specification is independent of whether this function is also the caller of HHH. If HHH is programmed in such a way that it cannot see this specification in the input, then that is clearly a bug.On 25/05/2025 16:55, olcott wrote:The requirement for HHH to report on the directOn 5/25/2025 5:19 AM, Richard Heathfield wrote:>On 24/05/2025 17:13, olcott wrote:>No HHH can report on the behavior of its caller>
From Halt7.c:
>
void DDD()
{
HHH(DDD);
return;
}
>
Since (as you say) no HHH can report on the behaviour of its caller, and since (as your code shows) DDD is HHH's caller, we deduce that HHH cannot report on DDD.
>
So HHH is not (according to you) a halt analyser for DDD.
>
I'm not sure you've left anything to discuss, have you?
>
HHH(DDD) does correctly reject
*ITS INPUT THUS NOT ITS CALLER*
as non-halting.
Its input, as you show by the notation HHH(DDD), is DDD. So it's reporting on DDD.
>
> HHH(DDD) does correctly reject
> *ITS INPUT THUS NOT ITS CALLER*
> as non-halting.
>
But as this code shows:
>
>> void DDD()
>> {
>> HHH(DDD);
>> return;
>> }
>
DDD calls HHH. Therefore DDD is HHH's caller.
>
DDD is HHH's caller AND its input.
execution of its input is WRONG because this require
HHH to report on the behavior of its caller and no
C function can see its own caller.
Les messages affichés proviennent d'usenet.