|> | > Terry Reedy wrote: |> | > > In Python, you have a choice of recursion (normal or tail)
Bruno > | I'm afraid Terry is wrong here, at least if he meant that CPython had > | tail recursion *optimization*. | Terry Reedy a écrit : | > NO!!! | > I did not mean that or imply that in any way. Bruno | I understand you didn't mean it, but since the whole point of | tail-recursion is allowing optimisation Wrong again. That is a reason, even a primary reason, for some people some of the time, but not at all the only reason anyone would ever write linear recursion in tail rather than body (my term) form. So nothing follows from this false premise. | (else tail-recursion is nothing else than a subset of recursion) So? Body-recursion (non-tail-recursion) is also nothing else than a subset of recursion. | you somehow implied it, even while that was not your intention. False in its own right. Any langauge that allow recursion allows the subset that happen to constitute tail recursion. Most do not *mandate* that compilers specially recognize and optimize that subset. So there is pragmatically no implication that the latter follows from the former. The reason I specifically mentioned tail recursion is because Prof. Sussman, who complained about There should be one-- and preferably only one --obvious way to do it. -- to quote Brother Tim accurately -- co-developed Scheme. To me, Scheme promotes tail recursion as the one true way as much or more as anything is similarly promoted in Python. That mention had nothing in itself to do with the separate issue of optimizing tail calls. What Sussman apparently missed is that Tim's main point is that there should be some rather than no obvious way to do things. The parenthetical optional secondary desiderata is just that -- optional and secondary. Terry Jan Reedy
-- http://mail.python.org/mailman/listinfo/python-list