Comment on Clojure for the Erlang VMparentComments−sb82446yWhat does "guarantee" mean here? If you end a function in BEAM with another function call, it's TCO.−bad_login6yTail Call Optimization is an optimization done by the compile/vm that replace (in assembly terms) a CALL by a JMP. Therefore removing a call stack.−sb82446yCorrect. BEAM does real TCO as far as I'm aware. LYSE has a blurb about it and seems to agree (https://learnyousomeerlang.com/recursion).
Comments
What does "guarantee" mean here? If you end a function in BEAM with another function call, it's TCO.
Tail Call Optimization is an optimization done by the compile/vm that replace (in assembly terms) a CALL by a JMP. Therefore removing a call stack.
Correct. BEAM does real TCO as far as I'm aware. LYSE has a blurb about it and seems to agree (https://learnyousomeerlang.com/recursion).