> > Tail Recursion > > -------------- > > from Me (my brain) > > > > Have proper tail recursion in Python. Would require identifying where > > a direct function call is returned (could keep it simple and just do > > it where CALL_FUNCTION and RETURN bytecodes are in a row). Also have > > to deal with exception catching since that requires the frame to stay > > alive to handle the exception. > > > > But getting it to work well could help with memory and > > performance. Don't know if it has been done for a language that had > > exception handling. > > How is this different from stackless? AFAIK Stackless only curtails the *C* stack, not the chain of Python frames on the heap. But I have a problem with tail recursion. It's generally requested by new converts from the Scheme/Lisp or functional programming world, and it usually means they haven't figured out yet how to write code without using recursion for everything yet. IOW I'm doubtful on how much of a difference it would make for real Python programs (which, simplifying a bit, tend to use loops instead of recursion). And also note that even if an exception is not caught, you'd like to see all stack frames listed when the traceback is printed or when the debugger is invoked. --Guido van Rossum (home page: http://www.python.org/~guido/)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4