lambda expressions
James_Althoff at i2.com
James_Althoff at i2.com
Tue Feb 5 14:29:17 EST 2002
More information about the Python-list mailing list
Tue Feb 5 14:29:17 EST 2002
- Previous message (by thread): lambda expressions
- Next message (by thread): Xython - XML-Formed Python
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
[Jason Orendorff] >I should have said "Lack of tail call optimization could >be a problem." > >For spectators: the reason tail recursion is important >at all is, any tail call can be compiled into (essentially) >a goto. This allows functions like WHILE() to loop indefinitely >without eating up memory. > >In Python, tail calls are not optimized. So in Python this >uses O(N) memory, where N = the number of times the loop >executes. Eventually you get "RuntimeError: maximum recursion >depth exceeded". As Jason points out, any tail call -- not just recursive calls -- potentially can be optimized. A downside (the upside is mentioned above) -- in addition to some added complexity of implementation -- is that you pay the piper sometimes when debugging since you lose all intermediate context (by overwriting the stack frame early -- hence the savings in stack memory). Jim
- Previous message (by thread): lambda expressions
- Next message (by thread): Xython - XML-Formed Python
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list