XPost: comp.theory, comp.lang.c++
From: polcott333@gmail.com
On 11/24/2025 10:32 AM, Kaz Kylheku wrote:
> On 2025-11-24, olcott wrote:
>> On 11/22/2025 11:24 PM, Kaz Kylheku wrote:
>>> That's just the thing! If this were correctly implemented then in fact
>>> DD /wold be/ calling HHH1, using the name HHH.
>>>
>>
>> You are trying to get away with this lie
>> about the semantics of C?
>>
>> int main()
>> {
>> HHH(DD);
>> HHH1(DD);
>> return 0;
>> }
>>
>> _main()
>> [000022c4] 55 push ebp
>> [000022c5] 8bec mov ebp,esp
>> [000022c7] 6834220000 push 00002234 ; push DD
>> [000022cc] e833f3ffff call 00001604 ; call HHH
>> [000022d1] 83c404 add esp,+04
>> [000022d4] 6834220000 push 00002234 ; push DD
>> [000022d9] e856f2ffff call 00001534 ; call HHH1
>> [000022de] 83c404 add esp,+04
>> [000022e1] 33c0 xor eax,eax
>> [000022e3] 5d pop ebp
>> [000022e4] c3 ret
>> Size in bytes:(0033) [000022e4]
>
> That's right; even if HHH and HHH1 are separately realized and given
> different adddresses, not recognized as identical by the compiler and
> not folded into one copy, in a correct implementation of your software,
> HHH(DD) and HHH1(DD) would behave as indistinguishable, mutually
> interchangeable operations.
>
Except when their input calls themself.
In this case they must simulate themselves
simulating their input, not just simulate
their input.
--
Copyright 2025 Olcott
My 28 year goal has been to make
"true on the basis of meaning" computable.
--- SoupGate-Win32 v1.05
* Origin: you cannot sedate... all the things you hate (1:229/2)
|