"Terry Reedy" <tjre...@udel.edu> wrote in message news:mailman.119.1273690025.32709.python-l...@python.org...
CPython compiles Python code (a sequence of statements) to its private bytecode (a sequence of codes and operands) and then interprets the bytecode. So 'edit and continue' would have to recompile the statement and patch the result into the bytecode.

I believe this is what, e.g., Visual Studio does with, e.g., C++ code -- it compiles the modified code and then patches the binary to call the new code as a subroutine or somesuch.

Another problem is recovery of state. If an exception is raised in the middle of a statememt, there would need to be a means to roll back the state of objects and namespaces to what they were before execution of the statement started. So the interpreter would need to act like a transactional database, which is not trivial.

Yeah, I can see this being challenging. I think it's pretty cool how some Python debuggers will allow you to use a shell with the context set to the current function or any of the calling functions higher up the call stack hierarchy as well.

This would also slow normal execution, so it would have to be optional.

That'd be a small price to pay. :-) (Visual Studio only lets you do this with unoptimized code...)

If would definitely be nice. Perhaps $500,000 in funding would do the trick.

Cool, if I win the lottery and add it to the "worty causes" list! :-)

Thanks for the information,
---Joel

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

Reply via email to