Grant Proposal: Inline::C(PP) Module Support

Category: Grants

Comments (11)

Thank you for proposing this one!

I'd like to see this one first, with "IO::All Redux" being my personal #2, although others will have different priorities.

I really have no other comment than: +1

I think this one is quite important. We're planning to release a CPAN module which uses Inline::C and I don't want any nasty surprises.

I think this is the most interesting of the proposals in the September round: +1

I think this is a worthwhile project.

I would like to raise "inchstone 7" to a higher prominence and would encourage this grant to be adjusted so that inchstone 1-6 include documentation deliverables for each stage marking the "completion" of these steps.

They already made big progress, and hopefully they are making even more. Now even a full Inline:CPP with all the new c++11 std and boost enhancements seems to be doable.

Thanks for the feedback!

We also think this proposal is an obvious win. It is bid the lowest because we believe it is the closest to getting done.

We are planning to do weekly blog posts with all of the proposals that are granted. The relevant texts of those posts will certainly be rolled into documentation.

— Ingy and David

Dear Ingy,

It was brought up in the Grants Committee discussion that your grant from 2006 "Porting pyYAML to Perl" took until fall 2009 and it was terminated by TPF. A part of the grant was delivered but not all was completed. Its proposed duration was "a month or two".

While we understand this happened long time ago, the Committee would like to have your view on this problem and see how you plan to achieve the goal this time if this grant or other grants are approved.

For the record, here is a list of public updates on the grant:

* Grant approval (2006-08-22)

* No updates (2006-12-07)

* "not been able to make much progress" (2007-02-20)

* No updates (2008-08-01, 2008-08-15)

* Progress (2008-09-05)

* No updates (2008-09-19)

* "wrote an article" (2008-10-03)

* No updates (2008-10-18)

* "YAML hackathon...this weekend" (2008-11-03)

* Progress (2008-11-21, 2008-12-01, 2008-12-15, 2009-01-02)

* No updates (2009-01-14, 2009-02-07, 2009-02-22)

* Progress (2009-03-07, 2009-03-21)

* No updates (2009-04-04)

* Progress (2009-04-19, 2009-06-07)

* No updates (2009-07-04, 2009-07-18)

* Grant closure (2010-03-03) (your article from 2010-01)


Thanks for bringing this up. I think it's in everyone's best interest to talk about it.

In 2006 I was encouraged by a TPF member to submit a grant proposal. I was a bit reluctant to accept money for personal work, but I wanted to help out; to do good things for the community. So I went for it.

The proposal was to port PyYaml to YAML::Perl. PyYaml (by the author of libyaml) was the best YAML framework at the time.

IIRC, the proposal was $3000, with $1500 granted up front. I started down the path and a lot of code was ported. At some point during this I realized that it was critical to bind libyaml (which was brand new) to Perl and I made YAML::XS, which is by far the most solid YAML module in Perl.

After more time I talked to the TPF and we agreed to not go further on the grant. YAML::Perl was working for basics but not fully done. YAML::XS was working well. We decided that it was time to scrap the grant. I was not awarded the remaining $1500 (though it was a close vote) and I respected that decision. While the grant did not go as proposed, I felt that Perl came out well ahead for it.

This time around the idea to work on a grant is completely mine (and David's). I chose to work with someone else specifically to make sure things went on track. I like working with David a lot and he is very good at getting things done.

Also we have made several proposals with many more in the wings, and so it is in our best interest to make sure we get things done on time and done well. There is no need for the TPF to pay us money up front.

Finally in regards to this proposal, it is really the most straightforward of the 4. That's why it has the smallest pricetag. Yet the implications of lowering the bar to authoring XS modules seems like a big return on investment.

I hope that the TPF and the community is willing to give me another chance. I will work my hardest… not only to not let you down, but to give you something truly great.

— Ingy döt Net

This sounds sensible. In fact I'd argue Inline isn't really usable without this.

Congrats ingy & davido!

I put quite a bit of effort into Inline::CPP to create a fix (with #inline's help) for the "Infamous Namespace Hack", part 4 of which finally culminated in Inline::CPP v0.63, which is currently the most recent code on Github and CPAN.

I think it is important to point out, for the benefit of the community, that even in RPerl's as-yet-unfinished state, the RPerl test suite is (I believe) the most comprehensive test of Inline::C(PP) of which I am aware, other than Inline::C(PP) themselves.

You will note I began by implementing the Inline::C(PP) tests from the already-existing POD, then continued on with over one thousand other tests, all of which focus on pushing the boundaries of Inline::C(PP).

The first 1 or 2 deliverables of this grant sound like they may make use of ingy's Module::Compile, which I also plan to use myself for RPerl both independently of, and related to Inline::C(PP), so I'm especially excited about that!

Thanks TPF for granting the money, thanks #inline, and thanks again to ingy and davido and even our old friend nwatkiss for Inline::C(PP), without which RPerl might not exist at all. :-)

Sign in to add comment