Beefy Boxes and Bandwidth Generously Provided by pair Networks
Come for the quick hacks, stay for the epiphanies.
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??

Getting Involved with Perl 6 - 2010

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.


Write some code

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://rakudobug@perl.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).

Write a module

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.

For example you could help to port CGI::Application to Perl 6. Or add more plot types and visual candy to SVG::Plot, a plotting/charting library with SVG output.

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.

Web things

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.

Test Suite

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.

Compilers

In my previous how-to-get-involved posts I have strongly emphasized what you can do for various compilers, but I think in retrospect that it has been unwise.

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.

Rakudo

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.

Mildew

Mildew uses TimToady's standard grammar, and compiles down to SMOP code.

If you are interested in the meta object protocol, contact ruoso or pmurias on #perl6.

Sprixel/csmeta

diakopter started csmeta, a project to provide a sufficiently flexible .NET runtime environment to run Perl 6 on top of it.

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.

perlito

Perlito, formerly known as MiniPerl6, supports compilation to several other programming languages and backends, for example Go, the JVM, javascript, Common Lisp and Perl 5.

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.

Hibernating projects

Pugs and elf have not been developed any further since my post last year, and I consider them hibernating until proven otherwise.

Guided Contributions

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.

Summary

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.

In reply to Getting Involved with Perl 6 - 2010 by moritz

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others taking refuge in the Monastery: (6)
As of 2024-03-28 23:32 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found