Google has just announced their accepted projects for the 2008 Summer of Code.
This year's Perl projects are:
Flesh out the Perl 6 Test Suite by Adrian Kreher, mentored by moritz
This project would involve significantly adding to the test cases for Perl 6. The focus would be in the areas that are untested, especially the edge cases. Some time would be spent organizing and improving existing cases, and making sure that they are up to date with the specification. There are 15 synopses, which are cross-referenced with the test cases at http://perlcabal.org/syn/. I would handle an average of one synopsis every week.
wxCPANPLUS by Samuel Tyler, mentored by Herbert Breunung
The creation of a graphic user interface for the CPANPLUS Perl module, written in wxPerl, including many of the functions available on the CPAN web site http://search.cpan.org, as well as Randy Kobe's Search http://kobesearch.cpan.org/. Features include: YUM Extender-style interface http://www.yum-extender.org
Native Call Interface Signatures and Stubs Generation for Parrot by Kevin Tew, mentored by Jerry Gay
NCI Signatures and Stubs Generation using Parrots c99 parser.
Development of ncigen a tool to parse C header files and generate dlfunc signatures and call stubs for external C libraries.
Incremental Tricolor Garbage Collector by Andrew Whitworth, mentored by chromatic
Parrot is a virtual machine designed to run dynamic programming languages such as Perl, PHP, Ruby, and Python. Currently, Parrot is at release 0.6.1, and there are many implementation details that need to be completed before the software can reach a stable 1.0 release. One of these requirements is an efficient garbage collector subsystem.
The current working garbage collector that Parrot uses is a simplified "Mark and Sweep" collector which is simple but inefficient. Mark and Sweep requires that all memory objects be analyzed at once to determine which objects are unreachable and can therefore be collected. Having to analyze all memory objects in a single pass can cause intermittent pauses in program executions which are unacceptable.
The desired garbage collector algorithm to be used for version 1.0 is an incremental tricolor garbage collector. Objects are marked as "white" (unchecked and presumed unreachable), "grey" (checked, but child nodes are not checked), and "black" (checked, and all child nodes are checked). In successive passes, white objects are checked and turned to grey, and then grey objects are turned to black. Breaking the analysis phase into smaller tasks helps to alleviate slowdowns caused by the garbage collector.
The goal of my work this summer is to implement the incremental tricolor garbage collector for Parrot.
More information about the proposed garbage collector is located here:
Math::GSL by Thierry Moisan, mentored by Jonathan Leto
Perl is an easy language to work with mathematics. However, large libraries of functions in this domain are missing presently. A large open source library of mathematical functions already exists in C/C++ language: the Gnu mathematical library (GSL).
The goal of this project is to make the GSL easily usable in the Perl language by creating a module named Math::GSL.
Full Text Search Implementation for the content management system, Bricolage by Krishnanunni P.N, mentored by Vivek Khurana
The aim of this project is to add full text-search support to Bricolage.
Bricolage uses Postgresql. For versions greater than 8.3.0, Postgresql supports full text search and support for this built-in full text search needs to be implemented for Bricolage.
Apologies to any monks I didn't recognise (and thus didn't link to)
If you still have an itch to scratch, and some time to develop (unfortunately, without Google's $4,500), have a look at the full list of ideas submitted for GSoC 2008.