Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer

Comment on

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

Nearly a year ago I wrote Getting Involved with Perl 6. There were quite some changes in Perl 6 land in the mean time, so I thought I'd give you a little update - both in terms of progress and how you could help today.


pugs isn't actively developed anymore, due to lack of contributors. The last commits to pugs itself were the attempt to compile it with GHC 6.8.*, which actually broke the build.

If you happen to be an ambitious hacker with some Haskell background, feel free to revive it. If not - bad luck.

The last revision known to build with GHC 6.6.1 is r19915 if you feel like compiling it first ;-)

Update: since writing this post audreyt actually fixed build and install via the cabal package manager (which is Haskell's CPAN-equivalent) with GHC 6.8.2. Details are in the INSTALL file in the pugs repository.

She also announced that pugs development will continue once GHC-6.10.1 is out.

Parrot and Rakudo

The Perl 6 implementation on parrot is now called Rakudo, and is improving fast.

Rakudo is actually quite fun to hack. I wrote a few small patches, and got very good feedback from the other developers. It has solid testing (about 700 passing tests from the official test suite, plus a few sanity tests), and is written in an interesting mix of languages: Perl 6 rules for the parser, NQP ("Not Quite Perl 6", a subset of Perl 6) for the parser actions, and PIR and C for builtins. If you don't like one or more of these languages, you can still find tasks that involve only one of them.

One of the next larger goals is to enable the writing of builtins in Perl 6 itself, so once that's done it will be even more fun to hack.

KindaPerl6 and smop

KindaPerl6, short kp6 is nearly bootstrapped, but it turns out that the bootstrapped version is painfully slow. So ruoso started a new C based "virtual machine" called smop. Unlike parrot it is focused on meta object programming, supporting natively different object systems and different representation for objects of the same type.

Work on kp6 has temporary stalled, but now ruoso received a grant for advancing smop programming and using it as a kp6 backend.

ruoso would be happy about any contributor with some C knowledge, or interest in the fundamentals about object oriented programming.

New Kids on the Block

There are two new approaches at Perl 6 compilers, both of which live in the misc sub dir of the pugs SVN repository and are disussed on #perl6 on


Mitchell Charity has started another Perl 6 compiler called elf. It is based on a ruby translation of the Perl 6 standard grammar STD.m, and everything else is a bootstrapped Perl 6 compiler with a Perl 5 backend. Other backends are being discussed too.

If you like hacking in <perl5 perl6 ruby>.pick(2), join #perl6 and poke mncharity or pmurias.

Update: Elf also has a homepage now


diakopter started yap6, "yet another perl 6" as an experiment in recursive descent grammars (inspired by Dominus' "Higher Order Perl"), towards mutable grammars for Perl 6.

It can't parse a very large subset of Perl 6 at the moment, but if you're interested in continuation style parsing, this the project to get involved with.

Other Projects

My area of largest contribution is currently the Perl 6 test suite, which is converging towards an implementation independent, large (but mostly tame) beast.

There's a Google Summer of Code project running to enhance and improve the test suite, but the task is so vast that any additional help is appreciated, and we're in no danger of running out of work for our gsoc student ;-)

There's also a non-technical project for helping Perl 6: Conrad Schneiker took action to raise funds for Perl 6 development. I don't know if the recent success is based on his work, but in any case it is a very good thing to do, and one that many programmers don't feel qualified or assigned to.

If you have buisness skill and some time to spare, this might be a good place to help us. Check out the fundraising wiki page for more details.

P.S. I hope I didn't confuse too many names. People tend to use their nick name on IRC and their real name on mailing lists, which sometimes makes it hard to map these two if they are unrelated. If you are mentioned in this meditation in the wrong way, please just /msg me, I'll fix it ;-)

Update: small typos, and a few additional details suggested by Auzon++

In reply to Getting Involved with Perl 6 - an Update 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
    [ambrus]: it now has two more people working there, and they're serving slower and more expensive.
    [ambrus]: It used to be just a master cook who takes the order and puts the meat and eggs on the open grill plate table, and an assistant who removes them to a plate, adds the side dish, and gives the plate to the people in the queue, plus a cashier.
    [ambrus]: Now it has five people instead of three, some sort of call number ticket system where people wait a lot for their food to get ready (it's the same kinds of grilled meat and fish on the same equipment, it won't actually fry slower),
    [ambrus]: it's slow as hell, and the food costs significantly more.
    [ambrus]: We no longer eat there.
    LanX Everybody quotes it, some people read it, and a few people go by it
    [ambrus]: LanX: why would I read it? isn't it a book for managers? I don't want to be a manager.
    [ambrus]: I don't quote it either.
    [erix]: it's really a software book, albeit about experiences from the 60s-80s. People haven't changed all that much though.
    [erix]: a software project book, is probably more exact

    How do I use this? | Other CB clients
    Other Users?
    Others musing on the Monastery: (16)
    As of 2017-09-22 13:53 GMT
    Find Nodes?
      Voting Booth?
      During the recent solar eclipse, I:

      Results (264 votes). Check out past polls.