
Neil Schemenauer wrote:
Hi Brett,
Some ideas:
* Finish of the AST compiler. Make it possible to manipulate ASTs from Python and allow them to be feed to the compiler to generate code. This is one half of macros for Python. The other half is harder.
I actually wanted to originally do that, but there is no real research involved; its just coding at this point, right?
* Build a refactoring code editor that works using the AST.
Would probably require the AST to be done.
* Implement an object system that supports multiple dispatch. You can look at Dylan and Goo for ideas.
Huh, cool. Just looked at Dylan quickly.
* Optimize access to global variables and builtins. See PEP 267 for some ideas. If we can disallow inter-module shadowing of names the job becomes easier. Measure the performance difference.
... and watch my head explode from reading the latest threads. =) Maybe, though.
* Look at making the GC mark-and-sweep. You will need to provide it explict roots. Is it worth doing? Mark-and-sweep would require changes to extension modules since they don't expose roots to the interpreter.
I don't know if it is worth it, although having so far two people suggest changing the GC to something else is interesting.
* More radically, look at Chicken? and it's GC. Henry Baker's "Cheney on the M.T.A"? is very clever, IMHO, and could be used instead of Python's reference counting. Build a limited Python interpreter based on this idea and evaluate it.
1. http://www.call-with-current-continuation.org/chicken.html 2. http://citeseer.nj.nec.com/baker94cons.html
I will have a read. Thanks, Neil. -Brett