4 ms·
Supporting recursion only to a depth of 1000 (or whatever) is equivalent to supporting loops of up to 1000 iterations. If I put out a language that crashed aft
by mrkeen 10mo ago
Supporting recursion only to a depth of 1000 (or whatever) is equivalent to supporting loops of up to 1000 iterations.
If I put out a language that crashed after 1000 iterations of a loop, I'd welcome the rudeness.
- Ar-Curunir 10mo agoPlenty of languages, including very serious ones like C and Rust, have bounded recursion depth.
- mrkeen 10mo agoThen let me rephrase: If every iteration of a while-loop cost you a whole stack frame, then I'd be very rude about that language. This works, btw: #include <stdio.h> long calc_sum(int n, long acc) { return n == 0 ? acc : calc_sum(n-1, acc+n); } int main(void) { int iters = 2000000; printf("Sum 1...%d = %ld\n", iters, calc_sum(iters, 0)); return 0; }
- zephen 10mo ago> If every iteration of a while-loop cost you a whole stack frame, then I'd be very rude about that language. Well, sure, but real programmers know how to do while loops without invoking a function call.
- deleted 10mo ago[deleted]