GSoC/GCI Archive
Google Summer of Code 2009

The Perl Foundation

Web Page:

Mailing List:

The Perl Foundation is dedicated to the advancement of the Perl programming language through open discussion, collaboration, design and code. It coordinates the efforts of numerous grass-roots Perl-based groups, including Perl Mongers, PerlMonks, Yet Another Perl Conferences and carries the legal responsibility for Perl, as well as an being an umbrella organization for The Parrot Foundation. The Perl Foundation is a non-profit, 501(c)(3) organization based in Holland, Michigan.


  • Cross-platform Perl Bindings for wxWebKit I will create cross-platform Perl bindings for the full functionality of the wxWebKit library, implement the new bindings in an existing Perl project as a proof-of-concept, and provide all necessary documentation and tutorial material to allow people to start using the new components quickly and easily.
  • Decimal Arithmetic: BigInt, BigNum and BigRat for parrot This proposal is about bringing "Big" decimal arithmetic to Parrot in the form of three PMCs wrapping IBM's libdecnumber. The BigInt and BigNum PMCs are intended as replacements to the current GMP-based PMCs of the same name, while the BigRat PMC will add support for the new Big Rationals specified in PDD14_Numbers. The proposal also covers the import into parrot's testing harness decNumber's extensive test suite.
  • HTTP/1.1 Compliance Testing and User-Agent Development for the Mojo Web Framework When building Web applications, developers expect the tools they use to be fully interoperable through clean protocol implementations. This project aims to ensure full HTTP/1.1 compliance in the Mojo Web Framework, through both whitebox and blackbox testing. Time permitting, Mojo’s client code will also be exercised through the development of a smart User-Agent similar to LWP’s.
  • Implement BPSW algorithm as a Perl 5 CPAN module, Math::Primality with extensive test-suite Implement BPSW algorithm as a Perl 5 CPAN module, Math::Primality with extensive test-suite Bob Kuo: I intend to implement the BPSW primality test as a Perl 5 CPAN module, Math::Primality, which will include documentation and an extensive test suite. I will use arbitrary precision arithmetic that is provided through the Math::BigInt::GMP bindings to implement the is_prime() and next_prime() functions to replace the current Math::Pari implementation.
  • Multimethods for SMOP Implementing of multisubs for the SMOP implementation
  • Perl 6 end-user documentation I will work to implement the end-user documentation reader as proposed by Carl Mäsak[1] in his Userdocs For Christmas project (u4x). I will also make a plugin for the Perl GUI editor Padre which uses this application to access documentation. Finally I will write new documentation for Perl 6, as well as port documentation from others.
  • Refactoring Catalyst helper modules I will refactor the Catalyst's helpers for extensability. They are underdeveloped compared to other parts of Catalyst. Current solutions are brittle, and inconsistent. I will provide a new API, with tests and documentation. The new API will provide standard methods to initialize and write files, modify existing code, and provide the user with a starting point. This will be a valuable addition, updating the mostly unmaintained codebase and ensuring that helper scripts have improved functionality.
  • SQL::Translator rewrite I will rewrite/refactor SQL::Translator. Over time, SQL::Translator has seen the addition of modules from varying developers, leaving an inconsitent API and coding style. The test coverage also leaves something to be desired and makes development difficult. I will implement a consistent API and coding style as well as extend the test suite.