A new module for performing tail-call elimination
Antoon Pardon
antoon.pardon at rece.vub.ac.be
Wed Jul 15 05:29:48 EDT 2015
On 07/13/2015 05:44 PM, Th. Baruchel wrote:
> Hi, after having spent much time thinking about tail-call elimination
> in Python (see for instance http://baruchel.github.io/blog/ ), I finally
> decided to write a module for that. You may find it at:
>
> https://github.com/baruchel/tco
>
> Tail-call elimination is done for tail-recursion as well as for
> continuation-passing style (cps) in a consistent syntax for both usages.
>
> Any tail-recursive function having the suitable format for being
> embeddable in the Y combinator can be used here with no change at all
> (with the main difference that tail-calls will be eliminated), but other
> continuations can also be added
Can you explain how you would do mutual recursive functions?
Suppose I start with the following:
def even(n):
True if n == 0 else odd(n - 1)
def odd(n):
False if n == 0 else even(n - 1)
How do I rewrite those with your module?
--
Antoon Pardon
More information about the Python-list
mailing list