Ed Singleton wrote: > Is it feasible to change a program's source code whilst it is running > without having to restart the program? Is it feasible to get a > program to change it's own source code while it is running?
You can change a class while it is running. > > For example, if you have a web server such as CherryPy that will > (hopefully) be running for months at a time and you want to be able to > change classes without having to restart the server. Or if you want > to allow users of the site to edit a class through the web and see the > changes to the site immediately? The auto-restart feature of CherryPy might do this for you. Also if the changes to the site are to a template such as Cheetah, those usually autoreload. > > Can a python program change a class, change all the objects already > created by that class and save the modified class definition, so that > if the program were restarted it would return to exactly the same > state? (assuming all objects were saved to a database or somesuch). You can have persistent objects using for example SQLObject or ZODB, > > Does anyone have any good links to implementations of this? I assume > someone's already done it before. It sounds like maybe you come from a background in Smalltalk, or maybe you should look at Smalltalk. In Smalltalk the whole environment is dynamic and can be saved and restored easily. For Python, I think you will do better if you narrow your requirements. Python is very dynamic - classes can be changed at runtime, or reloaded if you are careful - and there are several good ways to persist state. If you can be more specific about what you really need there may be a solution for you. Kent -- http://www.kentsjohnson.com _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor