On Sep 23, 3:13 am, process <[EMAIL PROTECTED]> wrote: > Why doesn't Python optimize tailcalls? Are there plans for it?
Because Python is a dynamic language. While a function is executing, its name may be bound to another object. It may happen as a side effect of what the function is doing, or even from another thread. The compiler has no way of knowing that. Recursion can always be expressed as iteration, possibly with a Python list as stack. -- http://mail.python.org/mailman/listinfo/python-list