GSoC/GCI Archive
Google Code-in 2010 Parrot Foundation and The Perl Foundation

Refactor some Perl 5 code in Rakudo's configure system

completed by: Fernando Brito

mentors: Moritz Lenz

Rakudo has some Perl 5 code to compare parrot revision strings to a reference. This is needed for determining if the currently available parrot is new enough to properly work with Rakudo.


Some of that code is in build/lib/Parrot/CompareRevisions.pm. This module is used both in Configure.pl and in build/gen_parrot.pl. The calling code looks quite similar (both read the reference revision from the same file, and do the same kind of comparisons).

Your task is to refactor common code from Configure.pl and build/gen_parrot.pl into the Parrot::CompareRevisions module. At least the code for reading build/PARROT_REVISION should be put into a common subroutine exported from the module, better yet if you also mvoe some of the comparison code to the module.

To approach the task, please create a github account (if you don't have one yet), go to https://github.com/rakudo/rakudo/ and fork rakudo. Make your changes, then send a pull request to the 'rakudo' user.


If you have any questions, don't hesitate to ask. Join #perl6 in irc.freenode.net.