En Thu, 15 Feb 2007 13:37:19 -0300, Neil Cerutti <[EMAIL PROTECTED]>  
escribió:

> On 2007-02-15, Gabriel Genellina <[EMAIL PROTECTED]> wrote:
>> En Wed, 14 Feb 2007 10:41:53 -0300, Neil Cerutti <[EMAIL PROTECTED]>
>> escribió:
>>> So the effect is that mutual recursion isn't actually any
>>> harder.
>>
>> But some kind of language support is required in this case. At
>> least I  don't know how to handle mutual recursion (apart from
>> inlining one  function inside the other...). But I'm certainly
>> not a "program  transformation guru" (neither a novice!) so I
>> would not be surprised if  someone says it can be done...
>
> What happens (using the model of an imaginary virtual machine,
> perhaps like the Python interpreter) is the following.
>
> A normal function call pushes a call-frame onto a stack. The
> call-frame contains information necessary for returning from the
> function, and usually a place to store its local variables and
> parameters.
>
> A function called in "tail" position simply overwrites the
> current call-frame with the new one instead of pushing it onto
> the stack.

This is the "kind of language support" menctioned. For tail recursion you  
don't require that support.

-- 
Gabriel Genellina

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to