> it doesn’t offer tail-call elimination
Why not? I’ve heard people say this about C too and I never understood it: LLVM and GCC both have optimization passes that perform tail-call elimination.
Why not? I’ve heard people say this about C too and I never understood it: LLVM and GCC both have optimization passes that perform tail-call elimination.
I think they also make debugging harder, aren’t used much in higher-level code, and aren’t necessary if you have good looping constructs.