Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses

Perl 6 needs you!

by Elian (Parson)
on Jun 15, 2002 at 19:25 UTC ( #174867=perlnews: print w/replies, xml ) Need Help??

The Parrot engine is sufficiently complete to implement a significant subset of Perl 6. (And Perl 5, for that matter) Because of that, we're looking for folks to pitch in and help write a perl 6 (or perl 5--that's fine too) parser. The parser itself can be written in Perl 5. You don't need any knowledge of the Parrot engine to start--we can fill you in and get you going with that quickly enough.

Requirements? You'll have to be working on a platform that Parrot builds on, with the tools you'll need to build Parrot, which includes perl, a C compiler, a make tool, and a CVS client. You'll also have to be willing to deal with a platform that's still a bit in flux. (Count this as your chance to influence the design of the real Perl 6 runtime engine)

Details? You'll be writing code that parses perl 6, and ultimately spits out bytecode for the parrot engine. Nothing fancy, and the first run may well be throwaway code, but that's just fine.

Interested? Subscribe to perl6-internals at (A link to the archives is at and we'll get you going.

Replies are listed 'Best First'.
Re: Perl 6 needs you!
by chromatic (Archbishop) on Jun 15, 2002 at 22:00 UTC
    I've been working with turning Perl 5 bytecode into XML. Would it be somewhat easy to translate that XML into Parrot bytecode?
      I expect so, yep. (Though as part of the perl5->perl6 converter I'd been considering straight bytecode/optree conversion) Though, alas, not the solution for a perl 6 parser. :)

        Though as part of the perl5->perl6 converter I'd been considering straight bytecode/optree conversion

        In some article, I read that B::Deparse could be made to output non-perl code in the future. How hard would it be to have it output Perl6 code?

        - Yes, I reinvent wheels.
        - Spam: Visit eurotraQ.

How/where to start with Perl 6 and the Parrot? (was Re: Perl 6 needs you!)
by atcroft (Abbot) on Jun 16, 2002 at 22:54 UTC

    Just in case someone runs into this issue, I thought I would go ahead and post this.

    Previously, I had already obtained a copy of the Parrot engine thru CVS (current details available at, issuing (at the time) the commands:

    # cvs -d login  
    # cvs -d co parrot
    When I attempted to update this time using the second command again, I received the message
    cvs checkout: in directory .:
    cvs [checkout aborted]: *PANIC* administration files missing

    I was lucky enough to get a response from Elian in the CB, who suggested that I needed to remove the old directory to get it to work (which it did).

    My other questions during that session I think others also may have, which included such things as:

    • If I don't consider myself a strong/good coder, but want to help, how can I do so?
    • What resources are recommended for someone wanting to help out? The Apocalypses? The Exegesises? The perl6-* lists? Others?

    I'm sure myself and others have additional questions such as these, or possibly suggestions as well.

      What can you do to get yourself up to speed? That's a good question. Here are some suggestions.
      • Read the Apocalypses and Exegesises.
      • Learn how to write and understand a grammar (in the computer sense--something you'd feed to lex and yacc). Grammars make writing compilers a lot easier.
      • General background reading on parsing is good
      • Intro CS texts on compiler generation are useful. (Though skip the Dragon book, it's not that good)
      • Practice! Write parsers for simple stuff, play with Parse::RecDescent, Parse::YAPP, and Parse::Nibbler, twiddle around.
      • Look at the grammars for other languages. Perl and Ruby both have grammars that ship with them. (Though I'm not sure that'll help or hurt...)
      • Size up your skills and decide what you realistically are up to. We need folks that can do all sorts of things, not just write compilers, so any and all help's useful.
Re: Perl 6 needs you!
by jepri (Parson) on Jun 17, 2002 at 04:37 UTC
    Elian, I was wondering if there would be any coordination for contributors. I (and I'm sure a few others) are eager to contribute, but have no idea where to start. I've read the design docs, apocalypses and exegeses, but where do I start coding?

    I didn't believe in evil until I dated it.

      Absolutely. The first step, after getting comfortable with the Apocalypses and Exegeses is to head over to perl6-internals list and poke around some. As people show up and have time, we'll make sure everyone's reasonably coordinated.

      The whole task is pretty straightforward--perl 6 goes in, parrot bytecode comes out. That doesn't mean we have to take it in one go, as there are enough intermediate steps to go around.

      It's probably also worth taking a mild shot at it by yourself to start, with the knowledge that you'll throw it all away and keep only the experience from it. (Which isn't a bad thing at all--get used to throwing code away, it makes life a lot easier in the long run)

Re: Perl 6 needs you!
by stefp (Vicar) on Jun 16, 2002 at 15:27 UTC
    I tried to download the last cvs.

    sync -av --delete is unreacheable. It has a DNS address but does not answer even to a ping. :(

    -- stefp -- check out TeXmacs wiki

      Odd. A transitory thing, I presume, since I just did a cvs update and it worked out no problem. Might be shoggoths in the 'net, too--you never can tell.
        Not a transitory thing. Probably my provider routes my requests to lalaland. wanadoom is not a wanabe but the biggest French provider. :( shoggoths? Can't find this word in a dictionnary even if google says it is often used.

        -- stefp -- check out TeXmacs wiki

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (3)
As of 2023-10-03 21:33 GMT
Find Nodes?
    Voting Booth?

    No recent polls found