good chemistry is complicated,
and a little bit messy -LW
The other day I stumbled about Get involved with Pugs, and thought about writing something similar, and a bit more up-to-date, for Perl 6 in general.
So how and where can you help?
There are different implementations, and helping them requires different skills. And you can help with the infrastructure, without knowing anything about building compilers.
PugsLimbic~Region++ wrote Get involved with Pugs, which is still true
ParrotIf you are a C coder, help the Parrot folks to advance their great virtual machine, that will once host Perl 6 - and already does.
Even if you are not confident with C, you can help: you can review the PDDs (Parrot Design Documents) for ambiguous sentences. Ask on #parrot on irc.perl.org for more details
Perl 6 on ParrotWhen I told you that Parrot already hosted Perl 6, I was referring to the Perl 6 on Parrot-Implementation that lives in languages/perl6/ of the Parrot SVN repository.
It is mostly written in PIR, and uses the Parrot Grammar Engine for parsing.
It passes basic test cases, and is really exciting to work on.
Again, if you are interested, ask on the parrot IRC channel what to do.
KindaPerl6 (kp6)kp6 lives in the Pugs repository under v6/v6-KindaPerl6/, and is written in MiniPerl6, a subset of Perl 6.
MiniPerl6 is bootstrapped to perl 5, and the most active kp6 backend is the perl 5 one as well.
Ask fglock on #perl6 on irc.freenode.org for details.
STD.pm and PreludeIf you want to do some serious perl6 hacking in Perl 6, you might want to hack Perl-6.0.0-STD.pm and Prelude.pm in http://svn.pugscode.org/pugs/src/perl6/ in the pugs repository.
STD.pm is the standard Perl 6 grammar that will eventually be used by all implementations.
In Prelude.pm you can find p6 implementations of builtin functions/methods/classes/roles, currently meant to be used by pugs, but in future other implementations will use it.
Again, ask on #perl6 for more informations.
InfrastructureAs promised, there are things you can do without knowing how to build a compiler:
(Update: Typo spotted by L~R)