On Jun 3, 2009, at 2:09 PM, Michele Simionato wrote:
On Wed, Jun 3, 2009 at 12:59 PM, Abdulaziz Ghuloum
<[email protected]> wrote:
You mean making python properly tail recursive is hard?
I find that hard to believe. Handling tail calls cannot
be harder than handling nontail calls.
No, I am thinking about making the Python debugger (in the
hypothetical case TCO were implemented) as smart as the Ikarus
debugger.
I have no idea if that could be easy or difficult,
I don't know anything about how the python debugger works,
if it's implemented in python, and how much of the runtime
system it is aware of. All I know is that the ikarus
debugger is pretty straight-forward. It is implemented all
in scheme. It only uses one ikarus-specific feature (call/cf
which gives you an eq?-comparable pointer onto the stack). It
also has a simple interface between the compiler/interpreter
and the debugger, e.g., rewrite all
(proc args ...)
=>
(debug-call '<source-info> proc args ...)
and you get debuggable/traceable code.
taking also in account speed and backward compatibility issues.
I don't think these would be serious issues for python.
Maybe is just lack of will.
That's clearly the issue, for if there's a will, there's a way.
Anyways, this is getting off topic. All I wanted to do was
to state some of the motivations for making the debugger.
[Your own posts were another motivation: you kept on saying
no stack trace this, no stack trace that, until I couldn't
take it anymore. :-) So thanks!]
Be careful Aziz, do not encourage by solving my pet peeves,
otherwise I will rant even more! ;-)
This is Ikarus's rant-driven-development strategy at work. :-)
Aziz,,,