> > Well, I think I understand Jython well enough to provide the > > assurance: Jython is (intentionally, and for good reason) designed > > to utilize the JVM's call stack. Thus Jython cannot support tail > > call elimination *unless* it is run on a JVM which does tail call > > elimination. > > I originally thought I'd need to use gcc's tail call optimization to > achieve my aim (since CPython works the same way), but it > turned out a > simple loop would suffice. Unless Jython's implementation is > radically > different (i.e. it doesn't pass frame objects to a function > that evaluates > them) then it should be able to be implemented similarly. Like I said, Jython uses the JVM's call stack. So it certainly doesn't pass frame objects to a function that evaluates them... Jython stack frames are actual Java stack frames. This is part of why Jython does such an incredibly good job of integrating tightly with Java -- Java any Jython functions (methods) can call each other freely because they're practically the same thing. -- Michael Chermside
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