← Back to context Comment by Ar-Curunir 2 days ago Plenty of languages, including very serious ones like C and Rust, have bounded recursion depth. 3 comments Ar-Curunir Reply mrkeen 2 days ago Then 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 2 days 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.
mrkeen 2 days ago Then 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 2 days 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.
zephen 2 days 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.
Then 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:
> 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.