Parrot Grant and Accomplishments

Most folks probably aren't aware of this, but Stichting NLnet is sponsoring quite a bit of Parrot's development. We report to them every two months about the state of Parrot so they can feel comfortable with how it's going. Unfortunately, I had too much on my plate to be the grant manager for Parrot and Dave Rolsky volunteered to step in and help out. He now communicates the Parrot development status to NLNet every two months and ensures that we're paying out grant money only for work which is actually done.

Here's a rough overview of the information Dave has provided last time:

Chip Salzenberg is working on milestone 1: the design document milestone. The deliverables for this milestone are the Parrot design documents (PDDs). In this period, Chip has completed the overall roadmap for the design documents (PDD 0), the lexical variables design document (PDD 20), and the calling conventions design document (PDD 3). In addition, Chip is responsible for ongoing design decisions on the mailing lists and over IRC, and architectural and code review on major contributions to Parrot.

Leo Tötsch is working on milestone 2: the stub implementation milestone. He released Parrot 0.3.0 on October 1st. The most significant feature of this release is the implementation of the new calling conventions.

He released Parrot 0.3.1 on November 6th. The most significant feature of this release is the completion of variable-sized register frames. This feature represents months of work by Leo and is an important step forward in flexibility and stability for Parrot. Among other things, moving to variable-sized register frames fixed a significant long-term bug in Parrot with continuation-based control flow. (See http://use.perl.org/~leo/journal/27504 for details.)

Leo plans to release Parrot 0.4.0 over the Dec 3rd-4th weekend. For this release he implemented lexical handling according to PDD20, and updated the Parrot tests for the new lexical handling. He also helped the developers of the TCL and Amber compilers on Parrot to use the new lexical syntax (both are working fine with it). Also included in this release will be his implementation of argument passing to exception handlers (TCL already works with it).

As you might imagine, it takes quite a bit of time to extract and organize all of that information. Also, the project sponsors sometimes request clarifications or additional information. Because NLNet has sponsored $70,00.00 for Parrot development, it's very important that we ensure they receive timely, accurate and complete information.

4 Comments

Because NLNet has sponsored $70,000.00 for Parrot development, it's very important that we ensure they receive timely, accurate and complete information.

While I don't disagree with this statement, I think that the protasis makes it seem like TPF is a slave to the money. It's very important that the parrot community receive timely, accurate and complete information. Even if they aren't all putting up $70K.

The Parrot community generally receives this information directly through the mailing lists they participate on. For the Perl community in general, this blog is part of an attempt to provide that information.

I would like some information about the relationship between Parrot and Pugs. Are they friends, competitors, or both? What do they have in common, what is different? I got the idea, maybe mistakenly, that pugs is aiming for a full bootstrap implementation of perl6 eventually... whatever that means. Given that, and the publicity (and user community) pugs has generated, is TPF also funding Pugs at some level?

Parrot and Pugs are not competing. Though related, they're actually in different problem spaces. Further, the Perl 6 design team has been quite grateful for the work Pugs has done to clarify many corner cases which previously had not been considered. However, I haven't paid very close attention to Pugs/Parrot interaction (I've had to be more focused on Parrot) so even though I'm aware there's been some communication there, I don't to what extent.

And no, to the best of my knowledge, TPF is not funding any Pugs development though we've sponsored "Hackathons" for it. I believe we did this for Toronto and it's possible this will also happen for an Israeli Pugs hackathon, but details on the latter are still being worked out. However, those sponsorships are not handled by the grant committee (I turned them over to Jim Brandt, the conference committee head), so I don't know too much about what's involved there.