[Sridhar]
I am doing my undergrade CS course. I am in the final year, and would
like to do my project involving Python. Our instructors require the
project to have novel ideas. Can the c.l.p people shed light on this
topic?
PyPy is chock full of novel ideas, given that two of the main developers
are Armin Rigo (of psyco fame) and Christian Tismer (stackless python).
PyPy is a project, which has obtained European funding, to reimplement
python *in python*, a very laudable goal.
http://codespeak.net/pypy/
Psyco is a "specialising compiler" for cpython, which essentially does
something like just-in-time compilation, but with a different slant.
http://psyco.sourceforge.net/introduction.html
Armin's paper on the techniques used should make an interesting read for
your CS professors:
http://psyco.sourceforge.net/theory_psyco.pdf
Stackless python has support for full coroutines, as opposed to
cpython's current support for semi-coroutines. In the past, Stackless
used to support continuations, but no longer does because of the
complexity of adapting the cpython interpreter to support them. But
Christian's implementation experience will hopefully guide PyPy in the
direction of supporting both coroutines and continuations.
http://www.stackless.com/
As for what you could do in the PyPy project, I have no suggestions
since I am not involved in the project. But I am sure that a message to
pypy-dev will elicit plenty of ideas.
http://codespeak.net/mailman/listinfo/pypy-dev
Lastly, the jython project is undergoing a bit of renaissance at the
moment, and there's plenty of work to be done. A message to jython-dev
volunteering time is unlikely to go unnoticed. Particularly, the parser,
code generation and AST are areas which require a fair amount of rework.
But there is less opportunity to use "novel ideas" in jython, so it may
not interest your professors, unless you have some novel ideas of your
own to bring to the project.
http://lists.sourceforge.net/lists/listinfo/jython-dev
How much time, over how long a period, do you have available for your
project?
Best of luck,