Jonathan Worthington Receives a Grant from DeepText for Perl 6 Development

DeepText proposes a minigrant of 1000 € to Jonathan Worthington for working 40 hours on Rakudo development during July and August of 2008. The purpose of the grant is to support implementing as many of multiple dispatch abilities in Perl 6 design as possible to code having these working hours.

Here are initial proposal and Jonathan’s answer.


from DeepText

Jonathan, DeepText company proposes you one thousand euros minigrant for working on Rakudo, Perl 6 compiler on top of Parrot virtual machine. Grant period lasts two months, starts on 1st of July and ends 31st of August 2008. During these two months you should work on Rakudo totally 40 hours (either spread it equally to have 5 hours a week, or 1 hour a day, or group hours as you wish).

Work progress should be reported with posts on project blog (and wherever else you think is appropriate) at least four times (again, the periodicity is over to you: either one note each two weeks, or four posts in the end of August).

Before 1st of July please prepare the list of topics you are going to implement under this grant and which needs approximately 40 hours of programming.

Topics might be close to those you work under other Perl 6 grants but should not intersect with them too much. The most desired variant is to implement a particular part of Synopsis or particular set of “official” Perl 6 tests within PUGS. The list of topics will be considered as a roadmap and may be changed by you at any time if some reasons raise.

The proposal ends in the end of Summer and does not assume silent prolongation.

DeepText is a company established primarily for organizing Perl events in Russian-speaking areas and supporting Perl community there.


from Jonathan Worthington

After talking with Patrick and looking at the roadmap and things, I’m pondering that it might be good to give the 40 hours to working on multiple dispatch. A *lot* of things hang on multi-dispatch:

* multi subs and multi methods (duh!)

* Operator overloading is very dependent upon this (but also on parser stuff for declaring new operators)

* Junction auto-threading

At present, we have a sorta-working-ish multiple dispatch, apart from it only sort of works. For example, it doesn’t pay any attention to roles and constraints. But more serious, I think the candidate sorting is also different from what S12 specifies, which means at the moment we probably sometimes would dispatch to the wrong thing. Then there’s no support for “is default,” proto, and so forth. So there’s a lot of (in places I expect quite tricky) work to do here.

29 May, 2008