|The stupid question is the question not asked|
Getting Involved with Perl 6 - 2010by moritz (Cardinal)
|on Jun 27, 2010 at 12:12 UTC||Need Help??|
Perl 6 is being developed at a steady pace, and if you're interested, it's quite easy to help. No need to be a compiler writer wizard or a god of Perl 6 specification - any ordinary hacker can help.
Yes, it's that easy. Just write some Perl 6 code. If you think there's something wrong with how Rakudo compiles and executes it, submit a bug report by sending a mail to [mailto://firstname.lastname@example.org].
This is already a huge help for the Rakudo development team.
If you don't know how to write Perl 6 code, grab the latest PDF from the Perl 6 book. If you find anything unclear, please let us know (either via IRC, or the perl6-compiler mailing list, or by opening an issue in the github bug tracker).
One step more than writing some Perl 6 code is writing re-usable Perl 6 code. There's a list of about 50 Perl 6 modules. You can pick your favourite Perl 5 module, or invent a new one, and let us know about it, so that we can include it in that list.
The modules which are easiest to port are pure Perl modules which are not heavy on IO (though pure Perl is not a requirement -- there's also a native call interface (NCI) for calling C code).
Of course you can also pick up an already existing Perl 6 module, and improve it. The community is very open to such contributions, and for many modules you'll get a commit bit to the source repository after your first patch.
The upcoming Rakudo Star release aims to make it easy for developers to write their own modules, and we hope that will significantly increase the number of Perl 6 modules.
We are always looking for contributors to our various websites, for example a web shell for Rakudo at try.rakudo.org.
There's a also a wiki that needs constant updating.
As always, the test suite needs love, new tests and adaptions according to the latest spec changes.
There's a README for some information about the test suite, for more questions you can ask me directly.
It would also be awesome if somebody could collect all the information about the test suite, and produce a website about it.
Even though writing parts of a compiler is not harder than any other program that parses text files, transforms data and produces output, people seem to have deep respect or awe towards compiler writing.
Much of Rakudo is written in Perl 6 (or subsets thereof), and little knowledge of Parrot is required to work with it. If you want to contribute, join #perl6 and ask what can be done, or pick an item from the ROADMAP and see if you can do anything for any of them.
If you are interested in the meta object protocol, contact ruoso or pmurias on #perl6.
Currently various approaches at compiling Perl 6 code to the intermediate language are explored; if you're an explorer too, contact diakopter or sorear on #perl6.
I have been mostly out of touch with the perlito developers, but if that approach appeals to you, contact fglock and ask about possible contributions.
Pugs and elf have not been developed any further since my post last year, and I consider them hibernating until proven otherwise.
Maybe you don't want to pick a project yourself, and rather take some guided excursions into various areas of Perl 6? Then you might be interested in this series of weekly, guided tasks to get you started with contributing to Perl 6.
So far we had tasks related to various different Perl 6 projects: Some websites, the test suite, Rakudo, and the Perl 6 book currently being written. Some of the contributors attracted that way have stayed, and contributed various other stuff.
Subscribe to the Planet Six RSS feed to keep informed about any new weekly tasks.
There are many different things you can do to help Perl 6 today. Only a few of these tasks require deep hacking wizardry - most just require motivation, and the will to communicate with the rest of the community.
If you think Perl 6 is a good idea, don't just wait - take some initiative!
Perl 6 - links to (nearly) everything that is Perl 6.