2 ms·
Even that is not infinite because there is a limit to how much memory you can address. You don't have to bring physical realities into it.
by mistercow 14y ago
Even that is not infinite because there is a limit to how much memory you can address. You don't have to bring physical realities into it.
- asynchrony 14y agoThe system will just spontaneously update to the next power-of-two bits when address space gets short. Problem solved.
- mistercow 14y agoThat would break binary compatibility with all existing programs, though. So I guess the claim should be that it's impossible to implement a practically useful system without a de-facto recursion depth limit.
- tjgq 14y agoHow is a "limit to how much memory [one] can address" not a physical, rather than logical, constraint? Really, the crux of the matter is that you can have a function call itself an unbounded number of times in C (i.e. unbounded recursion). That you eventually run into a stack overflow is a limitation of the machine, not of the language; the definition of C does not prescribe a maximum number of recursive calls. This, together with conditionals, makes the C language Turing-complete.