Google Summer of Code is a
program that offers student developers
summer stipends to write code for various open source software projects.
Google Summer of Code 2010 went by quickly, and much was accomplished.
The Perl Foundation and
Parrot Foundation took part this year, and we
were lucky to get proposals from very bright and capable students.
We started the summer with 10 students and had 8 students pass their
final evaluations. The passing projects include:
Ryan Jendoubi -- Ctypes for Perl
Mentor: Reini Urban
This project is exciting
Perl developers, because it would minimize
the need to use XS, which will make many more pure-Perl modules possible. This
improves portability, becaue XS-based modules are notorious for being fragile
across operating systems and compiler versions. This adds up to a whole lot of WIN.
Nat Tuck -- Hybrid Threads for Parrot
Mentor: Andrew Whitworth
Threads allow a single program to use more than one CPU, which is becoming
increasingly important these days. Even mobile phones are multicore! This work
aimed at adding threading support to Parrot Virtual Machine. Much was
accomplished, but this effort is still on-going. So-called "green threads" were
implemented, which is a necessary step to get Hybrid threads working.
Tyler Curtis -- A PAST Optimization Framework for Parrot
This project is about providing a framework for optimizing
Abstract Syntax Trees). This will be used by language implementors when
optimizing their HLLs (High Level Languages). This framework allows all
languages on Parrot to benefit from optimizations that are written once,
instead of each language implementor writing their own optimizations.
Daniel Arbelo Arrocha -- NFG and single-representation strings for Parrot
Mentor: Allison Randal
NFG stands for Normal Form Grapheme, and basically means having a standard
internal representation of Unicode strings, so that very expensive
conversions do not have to repeatedly take place. This makes string-heavy
computations much faster and unifies a lot of code.
Carl Masak -- Add support for binary data in Rakudo
Mentor: Jonathan Worthington
Rakudo Perl 6 now supports various binary data
formats that were implemented as part of this project. Many relevant tests were
also added to the Perl 6 Spec Test
Suite as well as improvements and clarifications to the
Perl 6 Specification.
Muhd Khairul Syamil Hashim -- Instrumentation Tool for Parrot
Mentor: Christoph Otto
This instrumentation tool for Parrot allows one to dynamically peek into the
execution of Parrot op-codes. This allows for writing profiling tools that
can answer questions like "who calls functions X" and "how many Objects of type X
John Harrison -- Improvements to NCI/LLVM Stack Frame Builder for Parrot
Mentor: Peter Lobsinger
This project is a prerequisite for a
JIT (Just In Time compilation) framework, which
is an important goal for the Parrot community, since Parrot decided that our
old JIT subsystem was broken beyond repair and removed it. Parrot has
decided to use the very popular LLVM project in our rewrite of our JIT,
and this project brings us a step closer on our journey.
Pawel Murias -- Mildew and SMOP on CPAN
Mentor: Daniel Ruoso
This project involved working on Mildew and SMOP. Mildew is a Perl 6
implementation, and SMOP is the library Mildew uses for meta-object
programming. You can think of Mildew as a sister to Rakudo Perl 6. Having many
implemenations of Perl 6 helps to better define the Perl 6 specification.
Updated versions of SMOP and
Mildew are now available on
The failing projects were:
Justin Hunter -- Rework Catalyst framework instance initialization code
Mentor: Florian Ragwitz
Mirko Westermeier -- Bulletproofing the Mojolicious test suite
Mentor: Marcus Ramberg
Both of these projects passed their midterms, but due to circumstances
outside of the program, these students were not able to complete their
goals for their final evaluation. Sometimes Real Life throws you a curve
ball, like starting a new job, moving to a new city, having a baby
and similar things. We wish these students the best of luck, and hope
that they complete their projects outside the structure of GSoC.
I am very proud and humbled by all the students and mentors that I worked with
this year. I am constantly reminded that there are very intelligent developers
that are very young, and The Perl Foundation and Parrot Foundation is very
lucky to attract them and have them in our communities. I firmly believe that
the passing GSoC 2010 projects have made a large positive impact on our
codebases and many people will benefit from them for years to come.
Rock on and keep spreading the Open Source love!