January 2009 Archives

Running Grants (2009 - II)

Prepare for a big post! Here are the most recent updates from TPF running grants.

  • Test::Builder 2
    Schwern update: TB2 development has been dead for the last few months, largely because I haven't been programming. I'm getting started again, I've been poking at the code again lately, and I'm making three changes to the way its developed.
    1) Reigning in the TB2 goals back to what was in the grant. For a while I had a huge number of potential additions that kind of ballooned out.
    2) I was originally working bottom up, writing out the low-level TB2 components, and it wasn't working as it lacked direction. I've changed to writing a feature stripe fleshing out enough of TB2 to make Test::Simple work. That seems to be working much better.
    3) I'm still the only one coding on the project, which isn't good. I'm starting up a local weekly hackathon group here in Portland to try and get more people involved and also get a rhythm going.
  • SMOP
    Daniel update: A lot has happened, I'll try to summarize it:
    1) We created a ROADMAP directory in mildew that hosts tests for features that are not yet implemented. The t/ directory hosts only tests that are already implemented.
    2) I started writing a more definitive documentation on SMOP, they are called the SMOP lowdocs, and they reside in the lowdoc directory.
    3) A method in mildew now binds a special variable "$?self" which points to the invocant of that method. That variable is used by the "self" keyword, which is now supported in mildew.
    4) mildew now support implicit return of the value of the last statement run.
    5) SMOP build system is now SConstruct, we hope it fits our needs, as it is the third build system we try.
    6) pmurias++ embedded the p5 interpreter in SMOP, mildew can eval p5 code now, sending and receiving values, there's an example using p5 CGI.pm and other using SDL in mildew/example.
    7) SMOP now support exception handling, this is a major implementation since a lot of stuff in Perl 6 is handled as exceptions, like "return", "warn" and others. SMOP already supports both CONTROL blocks and CATCH blocks, the return function can be implemented with all the proper semantics expected. This is a big deal, since SMOP/mildew is the first to implement return as spec.
    8) mildew supports &?BLOCK and &?ROUTINE as spec.
    9) mildew supports MY:: and CALLER:: pseudo-packages as spec, we use a "FlattenedScope" type that receives .{} calls and implement it as "lookup" in the desired lexical scope.
    10) SMOP raised a very important question on how Capture should behave. The spec currently fails to DWIM in several situations. SMOP currently implements one piece of DWIM, but this issue is still open. This also made larry include the "\" modifier in the signature, which means "non-slurpy capture". If you have a :(|$something) signature, it will contain the signature as it was sent to the invocation while :(\ $something) will treat the first positional argument as a capture. This is important to allow foo(bar(baz(),1),2),3) to delay the context at which each value is used. At the same time, using foo( (|$bar) ) means sending a capture as the first positional argument. The point still open is "what should a capture return when coerced to a context it doesn't provide a value for?".
    11) The return function is now part of the SMOP prelude in src-s1p, but it requires "is export". It turns out that traits are implemented as a multi, so we need to implement Multi before we can have "is export". In the meanwhile, "is export" is handled as a compile hack in mildew, but it doesn't solve the problem for "return", because "return is export (:DEFAULT)", so we need the multi.
    12) When implementing CATCH and CONTROL, we needed to add to call-with-current-continuation in SMOP. Now you can send an additional named parameter "cc" to postcircumfix:<( )> in order to provide the current continuation. The CATCH and CONTROL blocks are executed with the outer of it's outer block as the current continuation.
    13) mildew now supports "our" declarations, but you should notice that, unlike Perl 5, "our" doesn't mean global. It just mean that it is registered in $?PACKAGE. But $?PACKAGE is a lexical variable, so you might have an "our" variable inside a "my" package.
    14) mildew now supports Foo::Bar::.method, which means calling "method" in the Package Foo::Bar. mildew consider that the packages are stored in the lexical scope with the "::" suffix.
    15) mildew was refactored splitting all VAST types in different files, this should make it easier to maintain.
    16) mildew now supports attributes in knowhows, this is a requirement to implement Multi, which is implemented already in the SMOP prelude in Perl 6
    17) mildew now supports "loop" and "unless" statement control, which are also a requirement for Multi.
    18) mildew now supports prefix:<=>.
  • The Perl Survey
    Kieren update: I've got things ready for data analysis now. I've done the bulk of the data munging to get things reasonably consistent and tractable anyway, have to skeleton a report structure together next. I think I need to talk to skud about getting what was on perlsurvey.org next which has fallen off the net she's on holiday right at the moment though I think.
  • The Mojo Documentation Project
    Sebastian has been planning the first chapter, which will be a introduction to web programming in general. Written much like a CGI tutorial but with modern Mojo based examples.
  • Embeding Perl into C++ Applications
    Leon update: Looking back to the list of deliverables I'd say one of them is completely finished (porting to 5.10). Fixing up exportation is almost finished, but not tested much, I'd make that milestone number one. Re-implementing the regexps for 5.10 (including unit tests and documentation) would probably be milestone number two (that's probably the biggest one). Milestone number three should probably be finishing the rest of the unit tests (not that much work) and number four the same about the documentation (though I'm not really sure when to call documentation finished). I haven't really started porting the build process yet, but Adam Kennedy's recent announcement (http://use.perl.org/~Alias/journal/38036) sounds like it will make my life a lot easier, that would be the final milestone.
    I've added support for exporting member variables. I've refactored (and renamed, see documentation) the exportation code based on that. I've added tests for method calling and function exportation. Also I've also started writing the regexp code. So far I'm progressing slower that I had hoped, mostly because documentation is lacking and the regular expression engine isn't exactly the easiest part of the perl source code to read.
  • Moose Docs
    Dave wasn't able to work on his grant the last two weeks. He will get back to the grant as soon as possible.

The Perl Foundation is looking at giving some grants ranging from $500 to $3000 in February 2009.

In the past, we've supported Adam Kennedy's PPI, Strawberry Perl and Perl on a Stick, Nicholas Clark's work on Perl internals, Jouke Visser's pVoice, Chris Dolan on Perl::Critic and many others (just check http://www.perlfoundation.org/grants for more references).

You don't have to have a large, complex, or lengthy project. You don't even have to be a Perl master or guru. If you have a good idea and the means and ability to accomplish it, we want to hear from you!

Do you have something that could benefit the Perl community but just need that little extra help? Submit a grant proposal by January 31.

As a general rule, a properly formatted grant proposal is more likely to be approved if it meets the following criteria

  • It has widespread benefit to the Perl community or a large segment of it.
  • We have reasons to believe that you can accomplish your goals.
  • We can afford it (please, respect the limits or your proposal should be rejected immediately).

To submit a proposal see the guidelines at http://www.perlfoundation.org/how_to_write_a_proposal and TPF rules of operation at http://www.perlfoundation.org/rules_of_operation. Then send your proposal to [email protected] Note that starting with this round, proposals should be properly formatted accordingly with our POD template.

On February 1st, proposals will be made available publicly (on this blog) for public discussion, as it happened in the previous round. So, please make it clear in your proposal if it should not be public.

Note that accepted but not funded proposals in the previous round do not need to be re-submitted.

This is the first update for running grants on 2009. At the moment TPF has 12 running grants:

  • Port pyYAML to Perl
    I just uploaded YAML-Perl-01_01. It has the entire Loader stack represented. You can play with it by using: ysh -MYAML::Perl
    It will load many simple YAML documents all the way through, but is not yet complete, so many others will fail. There are 10 modules involved in the Loader stack. They are all partially ported/working at this point. You can use the load stack at different levels. ie you can: Load, Construct, Compose, Parse and Scan a YAML stream. All the other YAML implementations can only Load.
    Next steps will be (roughly): Code the entire dumper stack [Done - see YAML-Perl-0.01_02 on CPAN - ed.], Finish porting the missing python functions, Harness the python test suite and get it passing, Work on the documentation, Finish work on YAML2, Replace YAML with YAML2
  • SMOP
    No updates from grantee.
  • The Perl Survey
    Kieren plans to start working on the survey grant at the end of the week.
  • Moose Docs
    Dave already started to improve the Moose Documentation. He plans to ship a first version of Moose::Manual some time in January.
  • Integrating Padre with Parrot and Rakudo
    Gabor already started and he blogs about the progress. His blog can be found at http://szabgab.com/blog.html. Padre now has a (slow) syntax highlighting for Perl 6.
Adam Kennedy finished his Perl on a Stick grant a few weeks ago. You can download the first beta release in Strawberry Perl website. Also, while TPF expects Adam to publish a final report sometime, he wrote some posts on his use.perl blog about this grant. Here is a brief resume of them:

About TPF

The Perl Foundation - supporting the Perl community since 2000. Find out more at www.perlfoundation.org.

About this Archive

This page is an archive of entries from January 2009 listed from newest to oldest.

December 2008 is the previous archive.

February 2009 is the next archive.

Find recent content on the main index or look in the archives to find all content.


OpenID accepted here Learn more about OpenID
Powered by Movable Type 6.2.2