V
2  
Tags
There are no tags for this page.
Attachments
Winter of Code
Work 1 day per week on Rakudo

At the Oslo QA Hackathon 2008, during one evening meal, it became evident that Jonathan Worthington would be able to spend even more time hacking on Rakudo Perl 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.

Objective

  • Work on Rakudo one full day a week (minimum of 8 hours of work)
  • Post about the work on the rakudo.org blog and cross-post it to use.perl.org

Budget

Jonathan will recieve € 150 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).

Results

Jonathans proposal

** 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.




 

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.

Tag: 

Suggestions: