<?xml version="1.0" encoding="UTF-8"?>

<rss version="2.0" xmlns:blogChannel="http://backend.userland.com/blogChannelModule">

<channel>
<title><![CDATA[Winter of Code: Work 1 day per week on Rakudo]]></title>
<link>http://socialtext.useperl.at/woc/index.cgi?work_1_day_per_week_on_rakudo</link>
<description></description>
<pubDate>Thu, 03 Jul 2008 07:42:55 -0000</pubDate>
<webMaster>nosupport@worstofall.com</webMaster>
<generator>Socialtext Workspace v2.15.0.1</generator>

<item>
<title><![CDATA[Work 1 day per week on Rakudo]]></title>
<link>http://socialtext.useperl.at/woc/index.cgi?work_1_day_per_week_on_rakudo</link>
<description><![CDATA[<div class="wiki">
<p>
At the <a target="_blank" title="(external link)" href="http://perl-qa.hexten.net/wiki/index.php/Oslo_QA_Hackathon_2008">Oslo QA Hackathon 2008<!-- wiki-renamed-hyperlink "Oslo QA Hackathon 2008"<http://perl=-qa.hexten.net/wiki/index.php/Oslo_QA_Hackathon_2008> --></a>, during one evening meal, it became evident that <a target="_blank" title="(external link)" href="http://www.jnthn.net">Jonathan Worthington<!-- wiki-renamed-hyperlink "Jonathan Worthington"<http://www.jnthn.net> --></a> would be able to spend even more time hacking on <a target="_blank" title="(external link)" href="http://rakudo.org/">Rakudo Perl<!-- wiki-renamed-hyperlink "Rakudo Perl"<http://rakudo.org/> --></a> if he would get paid a little money for it. As Vienna.pm still has some money earmarked for Perl development, we encouraged Jonathan to send us a proposal for funding him. Which he did. And which we accepted.</p>
<h1 id="objective">Objective</h1>
<ul>
<li>Work on Rakudo one full day a week (minimum of 8 hours of work)</li>
<li>Post about the work on the rakudo.org blog and cross-post it to use.perl.org</li>
</ul>
<h1 id="budget">Budget</h1>
<p>
Jonathan will recieve <strong>€ 150</strong> per day spend working on Rakudo. We estimate that on average he will work 4 days per month. We agreed on funding three months (~ €1,800) and evalute the grant after that time. If everybody is happy, we will continue the grant until the end of 2008, where we will evaluate again (and check if we still have money left).</p>
<h1 id="results">Results</h1>
<ul>
<li><a target="_blank" title="(external link)" href="http://www.rakudo.org/2008/05/todays-progress-object-initial.html">http://www.rakudo.org/2008/05/todays-progress-object-initial.html</a></li>
<li><a target="_blank" title="(external link)" href="http://www.rakudo.org/2008/05/grammars-get-classlike-and-oth.html">http://www.rakudo.org/2008/05/grammars-get-classlike-and-oth.html</a></li>
<li><a target="_blank" title="(external link)" href="http://www.rakudo.org/2008/05/more-oo-support-captures-and-r.html">http://www.rakudo.org/2008/05/more-oo-support-captures-and-r.html</a></li>
<li><a target="_blank" title="(external link)" href="http://www.rakudo.org/2008/05/rakudo-hacking-and-talks.html">http://www.rakudo.org/2008/05/rakudo-hacking-and-talks.html</a></li>
<li><a target="_blank" title="(external link)" href="http://www.rakudo.org/2008/06/ranges-parameters-and-many-fix.html">http://www.rakudo.org/2008/06/ranges-parameters-and-many-fix.html</a></li>
<li><a target="_blank" title="(external link)" href="http://www.rakudo.org/2008/06/attributes-attributes-attribut.html">http://www.rakudo.org/2008/06/attributes-attributes-attribut.html</a></li>
<li><a target="_blank" title="(external link)" href="http://www.rakudo.org/2008/06/mixins-generic-routines-and-en.html">http://www.rakudo.org/2008/06/mixins-generic-routines-and-en.html</a></li>
<li><a target="_blank" title="(external link)" href="http://www.rakudo.org/2008/07/lexical-fixes.html">http://www.rakudo.org/2008/07/lexical-fixes.html</a></li>
</ul>
<h1 id="jonathans_proposal">Jonathans proposal</h1>
<pre>
** About Rakudo
Rakudo is the name of the Perl 6 compiler running on top of Parrot. After
many years of work by many people to build a powerful and feature rich VM,
along with a couple of years of work led by Patrick Michaud to implement a
large chunk of the Perl 6 grammar engine along with a set of compiler
tools, we now have a platform that is allowing Perl 6 language
implementation to proceed relatively rapidly.

Already we have a whole host of features, including:
* Basic control structures (loops and conditionals)
* A wide range of built-in operators
* Declaration of subroutines, along with positional, named and slurpy
parameters
* Classes, roles, methods, attributes, inheritance, role composition
* Named and non-named regeses, calling named regexes from each other
* Match object functionality, using named and positional regex captures
* Declaration and use of subset types
* Use of types on my and our declarations as well as in function signatures
* Arity based multi-dispatch (not typed yet)
* The basics of junctions
However, the Perl 6 spec is rather large, so there's more than a little bit
left to do. :-)

** About Me
I've been involved in the Perl 6 project since 2003, when I started sending
in some basic patches to Parrot, to improve its Windows support. I earned
my commit bit on Parrot in 2005, after my first YAPC::Europe, where I
agreed to (and went on to) implement the Parrot bytecode linker, pbc_merge.
I wrote the bytecode design document and was heavily involved in the
specification and implementation of the Parrot OO model as it stands today,
complete with introspection and role composition.

Shortly after the Perl 6 on Parrot implementation reached the stage where
it was now written largely in Perl 6 itself (the grammar being in Perl 6
rules and the grammar actions being in NQP, a small subset of Perl 6), I
started to contribute to it. Since then, I've implemented a range of
features in the previous list, including the OO features, pairs (needed to
make named paramters work), junctions, subset types, type declarations and
other bits and pieces here and there.

I'm actively involved in the Perl community, having attended a range of
conferences and workshops to talk about Parrot, Perl 6 and Rakudo.
Qualification wise, I hold a first class honors degree in Computer Science,
the course I took featuring modules on compilers, type theory and formal
semantics of programming languages. You can see more on my CV.
http://www.jnthn.net/cv.shtml

** The Funding
Without funding, I can work on Rakudo in my free time (evenings and
weekends) when I have the energy, as well as at Hackathons and workshops.
I'm seeking funding to allow me to dedicate whole days of my working week
to Rakudo. The ability to spend a day focussed on the project will make it
much easier to make progress than doing things in the odd hour here and
there. It also means that when real life gets busy and work hours are all I
have, I can use some of those to work on Rakudo, knowing that it will put
food on the table and pay the rent.

My proposal is to work on Rakudo one full day a week (minimum of 8 hours of
work) at a rate of 150 euros per day. I would report, once a month or
another timescale agreed between us, how many days meeting this criteria I
have worked on Rakudo within that month. If I take vacation, obviously I
don't get any funding for not doing anything - I just send in a report of
what I did and payouts are based upon that.

Obviously, I will still do bits and pieces on Rakudo in bits of spare time
and at workshops and hackathons too. The aim of the funding is to increase
the amount of time I spend on Rakudo and allow me to spend time more
regularly, so we get a more constant rate of progress.

** Reporting
I will post about my work on the rakudo.org blog and cross-post it to
use.perl.org, just as I have been doing in recent weeks and months.



</pre>
</div>
]]></description>
<author>Thomas Klausner</author>
<guid isPermaLink="true">http://socialtext.useperl.at/woc/index.cgi?work_1_day_per_week_on_rakudo</guid>
<pubDate>Thu, 03 Jul 2008 07:42:55 -0000</pubDate>
</item>

</channel>
</rss>