|
|
|
|
|
by PhineasRex
3582 days ago
|
|
It looks like tail call optimization only works in simple situations. let rec foo i = if i < 0 then "foo" else bar (i - 1)
and bar i = if i < 0 then "bar" else foo (i - 1)
function foo(i) {
if (i < 0) {
return "foo";
}
else {
return bar(i - 1 | 0);
}
}
function bar(i) {
if (i < 0) {
return "bar";
}
else {
return foo(i - 1 | 0);
}
}
It would be nice to get a warning when tail calls cannot be optimized. |
|