3 ms·
One simple reason to not have tail-call elimination is the "nice stack traces" that are so useful in Python.
by heavenlyblue 9y ago
One simple reason to not have tail-call elimination is the "nice stack traces" that are so useful in Python.
- dozzie 9y agoThis one reason is somewhat OK, but note that these "nice stack traces" are not really that useful in functional languages (Erlang being a prominent example). It's a self-inflicted thing that full stack traces are that useful in Python.
- catnaroek 9y agoStack traces are not a very good argument. As a general rule, you should write your programs to be flawless. Only if you are unsure about a particular piece of code, then can you manually add debugging information, at your own expense.