Google Summer of Code 2009

This page is to enumerate possible ideas for Google's Summer of Code 2009.
Note: you do not have to choose an idea from this list! You're more than welcome to come up with your own idea and discuss it on the mailing list.

Template to use

Idea title
Difficulty: Easy/medium/hard/other description
Estimated time to complete:
Description

Ideas

This list is not exhaustive. As well as this page, there are also more ideas here, and questions on proposed ideas are always welcome.

Make Kite bytecode-independent
Difficulty: Medium-hard
Estimated time to complete: Several months
Right now, Kite generates bytecode in its own format. It would be nice to share one interpreter and standard library, but be able to target bytecode to different runtime systems (such as Parrot, .NET/Mono and so forth). It would require separation of the Bison actions from the rules in kite_parser.y, along with changes to the API and build system to facilitate different systems.

Improve garbage collection performance
Difficulty: Medium to hard, depending on the exact proposed project. Potentially requires knowledge of virtual memory and operating systems
Estimated time to complete: unknown
Kite's garbage collection is currently handled by Hans Boehm's garbage collection library. In some cases, the performance of the library could be faster. There are some potential garbage collector configuration flags/settings that could be tweaked for optimal performance, or potentially a way to develop a homebrew garbage collector to remove the dependency on the library.

Build system improvements
Difficulty: Easy
Estimated time to complete: 1 month
Kite's build system uses autoconf/automake. Some cleanups to the build system should make it easier to test and build new releases.

Method to automatically compile and run unit tests on multiple platforms/compilers simultaneously
Difficulty: Easy to medium
Estimated time to complete: 1-1.5 months
Kite has had problems with ensuring that it builds on various versions of gcc and other compilers/platforms. Being able to simultaneously build on multiple versions of gcc and potentially multiple operating systems and platforms would go a long way towards ensuring such quality issues do not recur. Could be combined with "Build system improvements" above to create a unified build/test system.

Kite package manager planning/prototyping
Difficulty: Easy to medium
Estimated time to complete: 1-1.5 months
Since 1.0.2, Kite has had a way to build and install modules by writing a simple script. Now, something like Perl's CPAN would be beneficial to keep track of what's installed and be able to automatically download dependencies, etc. when installing a new module/package.