Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Google Summer of Code projects for Perl

by clinton (Priest)
on Apr 23, 2008 at 11:52 UTC ( #682368=perlnews: print w/ replies, xml ) Need Help??

Google has just announced their accepted projects for the 2008 Summer of Code.

This year's Perl projects are:

  • Flesh out the Perl 6 Test Suite by Adrian Kreher, mentored by moritz

    This project would involve significantly adding to the test cases for Perl 6. The focus would be in the areas that are untested, especially the edge cases. Some time would be spent organizing and improving existing cases, and making sure that they are up to date with the specification. There are 15 synopses, which are cross-referenced with the test cases at http://perlcabal.org/syn/. I would handle an average of one synopsis every week.

  • wxCPANPLUS by Samuel Tyler, mentored by Herbert Breunung

    The creation of a graphic user interface for the CPANPLUS Perl module, written in wxPerl, including many of the functions available on the CPAN web site http://search.cpan.org, as well as Randy Kobe's Search http://kobesearch.cpan.org/. Features include: YUM Extender-style interface http://www.yum-extender.org

  • Native Call Interface Signatures and Stubs Generation for Parrot by Kevin Tew, mentored by Jerry Gay

    NCI Signatures and Stubs Generation using Parrots c99 parser. Development of ncigen a tool to parse C header files and generate dlfunc signatures and call stubs for external C libraries.

  • Incremental Tricolor Garbage Collector by Andrew Whitworth, mentored by chromatic

    Parrot is a virtual machine designed to run dynamic programming languages such as Perl, PHP, Ruby, and Python. Currently, Parrot is at release 0.6.1, and there are many implementation details that need to be completed before the software can reach a stable 1.0 release. One of these requirements is an efficient garbage collector subsystem. The current working garbage collector that Parrot uses is a simplified "Mark and Sweep" collector which is simple but inefficient. Mark and Sweep requires that all memory objects be analyzed at once to determine which objects are unreachable and can therefore be collected. Having to analyze all memory objects in a single pass can cause intermittent pauses in program executions which are unacceptable. The desired garbage collector algorithm to be used for version 1.0 is an incremental tricolor garbage collector. Objects are marked as "white" (unchecked and presumed unreachable), "grey" (checked, but child nodes are not checked), and "black" (checked, and all child nodes are checked). In successive passes, white objects are checked and turned to grey, and then grey objects are turned to black. Breaking the analysis phase into smaller tasks helps to alleviate slowdowns caused by the garbage collector. The goal of my work this summer is to implement the incremental tricolor garbage collector for Parrot. More information about the proposed garbage collector is located here: http://www.parrotcode.org/docs/pdd/pdd09_gc.html

  • Math::GSL by Thierry Moisan, mentored by Jonathan Leto

    Perl is an easy language to work with mathematics. However, large libraries of functions in this domain are missing presently. A large open source library of mathematical functions already exists in C/C++ language: the Gnu mathematical library (GSL). The goal of this project is to make the GSL easily usable in the Perl language by creating a module named Math::GSL.

  • Full Text Search Implementation for the content management system, Bricolage by Krishnanunni P.N, mentored by Vivek Khurana

    The aim of this project is to add full text-search support to Bricolage. Bricolage uses Postgresql. For versions greater than 8.3.0, Postgresql supports full text search and support for this built-in full text search needs to be implemented for Bricolage.

Apologies to any monks I didn't recognise (and thus didn't link to)

If you still have an itch to scratch, and some time to develop (unfortunately, without Google's $4,500), have a look at the full list of ideas submitted for GSoC 2008.

Comment on Google Summer of Code projects for Perl
Re: Google Summer of Code projects for Perl
by elmex (Friar) on Apr 23, 2008 at 17:30 UTC

    Nice projects have been taken! The Math::GSL projects looks like it could become really useful. And lets hope the 3 Perl 6/parrot related projects are fruitful.

    I wonder about the test suite, will the student be able to actually run all his tests? Or is he writing without testing his test scripts? I mean: Is all the stuff from those 15 synopsises implemented? Where? In PUGS? Rakudo?

    (I thought about participating in GSOC this year too, but for GNU Smalltalk. But in the end I decided I want to concentrate on my studies, and the $4,500 are just ~2835 Euros these days (I'm living in the EU))

      Well, obviously, under a test-first methodology, if you want to test your test files, you'll have to write some tests for your test files first. And then if you want to test those tests... :)

      Seriously, we have ways of marking tests as "todo" for various implementations, and it's just a degenerate case if you have to mark the test as "todo" for all implementations.

      I'm the student that's writing the test suite. I addressed those issues in my proposal, but that part isn't public, so I'll explain how I plan to get it correct.

      TimToady addressed the TODO issue rather well. I'm going to try as many implementations as feasible, but some will fail. For those, I'll refer to the spec as much as possible. If the spec is unclear, I'll ask on #perl6 and perl6-language. Peer review is another source of ensuring that the tests are correct.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlnews [id://682368]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (7)
As of 2014-07-13 07:15 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    When choosing user names for websites, I prefer to use:








    Results (248 votes), past polls