Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things

Perl 6 Involvement

by Anonymous Monk
on Jan 23, 2003 at 00:36 UTC ( #229175=perlmeditation: print w/replies, xml ) Need Help??

Greetings and Salutations.

I was wandering around the Internet the other day and came across this interesting little project called Perl 6. A closer look revealed an equally promising (if a little strangely named) virtual machine. I've been looking for a replacement for python and ruby (which are both excellent, but have a few 'features' (or lack thereof) that are a little less than desireable. The communities also seem to lack direction, but I digress). So in order to learn more about Perl 6, I'd like to get involved. My question is which is the best way to go about doing this?

A few sub-questions as well:

  • Should I read all the exegesis and apocalypses first? Just the exegesis? Also, where are they? I can't find exegesis 1 (are there any past 5?) and a search on only turns up one apocalypse.
  • I take it Perl 6 and Parrot are completely separate projects. Which one requires more assistance? There's obviously some very talented people involved already, how much more help is needed? In what areas? Which brings me to the next point...
  • Documentation - where's it at? What needs to be written? If this is similar to other open source projects I've looked at closely, this seems to sadly be the last thing that gets done. Also, testing - how can I help in that area?
  • Level of skill required? Do I have to be a C god? or can someone with a moderately in-depth understanding of the language still contribute substantially code-wise? Is Perl 5 (or any other language) knowledge also of use?

I know I've missed a few points, I'll post them in the follow-ups if I remember them. As for posting this here instead of on the mailing lists - this does seem to be The Perl site and I noticed several of the Perl 6 developers frequent here, so no harm in discussing it here and increasing awareness, right?

Thanks :-)

Replies are listed 'Best First'.
Re: Perl 6 Involvement
by Elian (Parson) on Jan 23, 2003 at 01:33 UTC
    In order
    • Reading the Apocalypses and Exegeses is definitely helpful. There are five apocalypses and four exegeses so far. You can read the Apocalypses, Exegeses, and, if you're inclined, the synopses. (Though there's only one synopsis so far)
    • Perl 6 and parrot are, while closely linked, separate. Currently Parrot can use the help, unless you're in a position to duplicate Larry, which is the only way that perl 6's design will go faster. (If you consider the perl 6 parser/compiler separate from parrot, though, that's cool--we're working on that project as part of parrot)
    • The docs and testing for parrot are underway, and part of the parrot kit. We do, of course, always need more tests, more docs, and more general thumping
    • Folks of all skill levels are welcome. You don't need to be a whiz at C, or Perl, or English, though any one of the three is certainly useful.

      Thanks for the reply :)

      So, read the apocalypses and exegeses (thanks for the links btw, don't know how I missed them), download parrot, take a look around, subscribe to the mailing list and I'm off. Any other things I should consider?

      Also out of curiousity, how many Perl Monks are involved in Perl 6 and/or Parrot development right now? Might be a good idea for a poll, (hint, hint).

        Yep, you've pretty much got it. A weak grip on your sanity never hurts either. :-P

        I'm not sure how many monks are involved in the parrot end of things--three or four at least, but I generally don't manage to keep handles and real names together, so I'm not sure. A poll may well be in order.

Re: Perl 6 Involvement
by broquaint (Abbot) on Jan 23, 2003 at 01:40 UTC
    Should I read all the exegesis and apocalypses first?
    That'd be a good start, although the language is constantly changing (and I don't believe the exegesis and apocalypses are updated so frequently). If you'd like to know what's been covered and where perl6 is going I'd recommend checking out the perl6-language mailing list and because it's a public forum you can easily contribute.
    I take it Perl 6 and Parrot are completely separate projects. Which one requires more assistance?
    Perl6 is basically ideas, discussion, documents and a bit of code at the moment and is developed quite separately (not entirely by any means) from Parrot. I couldn't say which needs more assistance but Parrot is there and running (so is some of Perl6, which comes with parrot) so is somewhat more hands on and could always to do with extra brain.
    Documentation - where's it at? What needs to be written?
    The perl6 docs consist of the exegesis and apocalypses and Michael Lazzaro's Perl6 Object Oriented Cookbook (with help from the community of course :). There's also the perl6-documentation mailing list that is trying to get the perl6 spec down on paper.
    As for parrot, there's a good deal of documentation that comes with the download and of course you'll a lot of info/discussion about it on the perl6-internals mailing list.
    If these mailing lists seem a bit daunting then I highly recommend the informative, succint and always entertaing perl6 summarys, summarized by none other than the wonderful pdcawley himself!
    Level of skill required?
    This really depends on what you're doing. Having C skills definitely helps with parrot development but you'll also need to get your head around some pretty nifty stuff. But if you're documenting then it's a different story altogether and really depends on your knowledge of what your documenting and subject surrounding it. However if you'd just like to be a casual contributor then the mailing lists are perfect tweaking ideas, adding syntax (seems to be quite popular among some of the regulars ;) and generally being another pair of eyes to look at what's going on.


      It's very important to keep in mind that the perl6-language list does not1 directly affect the direction of perl 6. It is, in turns, a sounding board, think tank, shark tank, and insane asylum, but nobody on the list other than Larry has any say over what is going into perl 6.

      It's easy to think it does, and either dispair over the insane wackiness that sometimes run rampant, or get overly inpressed with oneself when the list generally agrees with a point you make. Many people from outside the community use it as their only window on perl 6's development and conclude it'll be a festering pile of linguistic crap.

      The perl 6 language list can be interesting, and it is at times useful in the development of perl 6, but it is, at best, advisory, so as long as you keep that in mind you'll be fine.

      1I tried to make this blink for extra emphasis, but alas no joy there.

Re: Perl 6 Involvement
by pdcawley (Hermit) on Jan 23, 2003 at 05:05 UTC
    Crumbs but that 'people' link is out of date. Bryan Warnock hasn't written a digest in ages. I've been writing the Perl 6 Summaries since June last year; you can find them here.
      We'll have to get that fixed, then.

      Darned web... why can't this stuff just update itself? :)

        Yeah, here I am, working hard not to breach the DRY principle in my code, but once that pesky interweb thingy gets involved suddenly you're having to chase pointers and update stuff in 6 places at once. We should just have a Perl 6 organizational chart object which holds all the various relationships and work products etc, then every web page relating to Perl 6 can just be views onto that. It's a Simple Matter of Programming.

        Mmmm... 'just'... my favourite word when discussing programming projects; it's amazing how much complexity you can hide with it.

        Ok, I just fixed it in CVS. Robert should wave the magic wand to get the changes over to the web site soon. Sorry, Piers -- I just updated that page recently, but I didn't read it first or I would have noticed.

        So it does update itself -- you just have to make a wish in some obscure forum, and voila!

      Just read a few. Excellent summaries, keep up the great work! :)

Re: Perl 6 Involvement
by sfink (Deacon) on Jan 23, 2003 at 18:43 UTC
    My take on this:

    • The apocalypses/exegeses aren't at all necessary for participating in Parrot development. They're quite long, and unless you're going to be working on the perl6 compiler, not all that relevant to the current development directions. It's just as good to know other potential target languages well.
    • BUT: Please do consider working on the perl6 compiler! It's mostly inactive right now, and there are a ton of things that can be done on it even without any further progress on the language spec.
    • Yes, you can certainly be of help even if you don't know C or Perl. The rest of this list will suggest things that need work, not all of which require programming:
    • Documentation. We have some, but it's not all that coherent. There are a few starts on introductory docs, but nothing that really ties everything together. And some of the docs are, of course, out of date.
    • Testing. The main areas that could use more tests are the perl6 compiler and the IMCC intermediate compiler. (What would be personally useful to me is perl6 regex test cases.)
    • Benchmarking. We have a couple of small benchmark programs, but the overall state is very primitive. Nothing is standard, and there is very little in the way of a harness, or automated comparisons, or reporting.
    • Tinderbox. We are very low on tinderbox machines right now. If you have a vaguely unusual architecture OR compiler OR configuration (eg 64-bit Perl, even on a 32-bit arch), then we could really use more tinderbox machines. We currently have zero Windows tinderboxen running.
    • Development. There are lots of things to be done. The big things at the moment are objects, exceptions, and metadata. And there are plenty of other things, too. (Oh, another one: integrating all of the various languages' builds and tests.)

    Some parts of Parrot are easy to understand and get involved in. Others are difficult, and will require reading through the archives to avoid repeating the same paths we've already covered. (In fact, that's another useful documentation contribution -- if you see something that keeps coming up over and over again, people appreciate summary documents that describe the various approaches we've considered and their advantages and disadvantages.) But it's a friendly list, so don't worry about people threatening to disembowel your relatives and pets if you say something that's been said already. You will need to subscribe to perl6-internals in order to participate effectively, and as with most development lists, patches usually speak louder than words (even for documentation).

Re: Perl 6 Involvement
by Anonymous Monk on Jan 24, 2003 at 01:04 UTC
      All of them are in the parrot kit, though we may need to get the website updated. It's mostly, but not entirely, automatic.

      PDDs specify the design of Parrot. They're meant to be implementation specifications, though we have a bit of work to go before we make that goal.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlmeditation [id://229175]
Approved by Elian
Front-paged by broquaint
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (6)
As of 2018-04-22 18:48 GMT
Find Nodes?
    Voting Booth?