Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris

Comment on

( #3333=superdoc: print w/replies, xml ) Need Help??

It's been about a year since I wrote Getting Involved with Perl 6 - an Update, and again there are many news that change how you can contribute to Perl 6 development.


Parrot and Rakudo

Parrot has had its release of version 1.0 (and other subsequent releases, for that matter). That doesn't mean that Parrot is finished; software is never finished, and lot of works still needs to be done. But the developers now provide a relatively stable API for language developers, and the progress of Rakudo shows that many cool features can already be implemented on top of it.

Rakudo has left parrot's repository and now lives on github, has implemented many cool features (basic support for custom operators, sockets, big parts of the object system, multi dispatch, grammars) and now passes more than 10,000 tests from the official test suite (compare with my previous "getting involved" post, it was 700 back then).

But most exiting of all you can write built-in methods and functions in Perl 6 now. In the setting library (in src/setting/ there are already some methods written that way. For primitive operations inline PIR (parrot's assembly language) is used.

If you want to get involved with Rakudo, the easiest way is to either write new built-ins in Perl 6, or port existing ones from PIR to Perl 6. Send a patch to or contact the people in #perl6 on or at


Mildew is a new Perl 6 compiler that uses (TimToady's Perl 6 parser written in Perl 6) as a frontend and smop (a runtime library for the Perl 6 object system) as a backend. It has some nice features already (like control exceptions, modules, basic integration with Perl 5) but is not very accessible for real-world programming.

Mildew is developed in a mixture of Perl 5, Perl 6 and C, and Paweł Murias, the main developer, is glad to answer any questions on #perl6.


Elf is intended as a service for people who want to develop a Perl 6 compiler in Perl 6. Its parser is also based on, and it is bootstrapped. Elf can emit Perl 5 and Common Lisp code.

If you are interested in writing a Perl 6 compiler in Perl 6, write a mail to and ask for details.

Test suite

The test suite still lives in Pugs' svn repository, and always needs love and new tests. Writing tests is a good way to get involved with Perl 6, all you need to do is to read up some Perl 6 feature and exercise it.

There's a TODO list in t/TASKS that can help you to get started. Just join #perl6 and ask for a commit bit.

Write Perl 6 modules

A lot of Perl 6 modules have been written in the last few month; Rakudo's support for classes, modules and exporting/importing subroutines has made it easy and fun.

For example there's a basic installer for Perl 6 modules, a web framework (development supported by TPF grant), a wiki engine, board game, URI parser, a blog engine, a HTTP server, xml and json parsers and a general repository with Perl 6 example code.

Writing Perl 6 modules is fun, and helps the community in several ways. It tests the compiler (usually in different ways than the test suite), it allows others to re-use your code (thus solving the problem of not having many libraries) and it encourages others to think about more involved package distribution systems.

If you think that some widely used Perl 5 modules have flaws in their interfaces or design, now is your chance to recreate them in Perl 6. The earlier a Perl 6 version exists, the likelier it is to be adopted as the standard way of solving some problem.


You can also contribute to the Perl 6 development by improving the various websites. For example tries to keep an up-to-date overview of the current Perl 6 projects, the source can be found in the pugs repository in docs/feather/

The Rakudo developers also welcome improvements to their website, ask alester or pmichaud on #perl6 for authoring privileges.

Update: is now, udpated links accordingly.

In reply to Getting Involved with Perl 6 - 2009 by moritz

Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?

    What's my password?
    Create A New User
    and all is quiet...

    How do I use this? | Other CB clients
    Other Users?
    Others perusing the Monastery: (5)
    As of 2018-06-24 08:05 GMT
    Find Nodes?
      Voting Booth?
      Should cpanminus be part of the standard Perl release?

      Results (126 votes). Check out past polls.