Perl 6
Summer of Code Ideas: Revision 13
This is a random collection of what students could do in Google's "Summer of Code"<> project in 2009 (not yet officially announced, but it will take place)

If you add another idea here, please append your nick name, so that people know whom to contact for more information or shared brainstorming

^^ Parrot

Improve testing functions of Parrot (like we still need warns_ok() I think) (leto)

^^ Rakudo

Help writing the Prelude (ie the run-time part of the compiler) in Perl 6 (moritz)

Basic cryptography routines (leto)

YAML support; a PGE grammar to parse YAML, and a Perl 6 wrapper to enable Rakudo to use the result. (masak)

^^ Test Suite

The test suite always has much work to offer. A student could generally improve it (as done by Auzon last year), or pick a particular topic and focus on that. More specific ideas welcome.

If somebody wants to focus on a specific topic, these need lots of care:

* Object system: needs systematic testing of the various accessing schemes of class and instance attributes (has $.foo, has $foo, my $foo, our $foo), inheritance, multiple inheritance, role composition, conflict situations etc. as well as fundamental things like multi method dispatch and meta-object programming.
* Regexes and Grammars: This is a basically unlimited field, and while there are lots of tests already, many more need to be written: combinations of modifiers, multiple inheritance of grammars, and more esoteric things like recursion into subrules with ~~.
* S06: subroutines, signatures and macros need more systematic tests (for example typed slurpy params and their effect on multi dispatch, systematic tests of combinations of traits (is rw, is copy, ...) with other features (typed, named, positional, slurpy, ...)


^^ Documentation

Write "user-level Perl 6 documentation"<>. This involves developing a model for making documentation easily accessible from different programs, translating the very terse and technical language of the synopsis into end-user-ready language, setting up a glossary and working out examples (moritz, masak)

Canonical Problem Set for Perl 6 (leto)

^^ SMOP/Mildew

# SMOP uses a reference counting garbage collector, and mildew is curretly with several memory leaks. A project to solve that memory leaks is very much interesting for the future of SMOP and should guide you through all the funghi. (ruoso)

Upload Files

Click "Browse" to find the file you want to upload. When you click "Upload file" your file will be uploaded and added to the list of attachments for this page.

Maximum file size: 50MB

File Name Author Date Uploaded Size

Save Page As

Enter a meaningful and distinctive title for your page.

Page Title:

Tip: You'll be able to find this page later by using the title you choose.

Page Already Exists

There is already a page named XXX. Would you like to:

Save with a different name:

Save the page with the name "XXX"

Append your text to the bottom of the existing page named: "XXX"

Upload Files

Click "Browse" to find the file you want to upload. When you click "Add file" this file will be added to the list of attachments for this page, and uploaded when you save the page.

Add Tags

Enter a tag and click "Add tag". The tag will be saved when you save the page.