-
Notifications
You must be signed in to change notification settings - Fork 0
Perl 6 Roast Cleanup
In anticipation of the Perl 6 Release in 2015, we want to make sure our test suite is in good shape. BTW, fudging
is a technical term; we have a fudge program that takes the existing test files and "fudges" them so that each implementation or backend of perl 6 can have a slightly different view of the same test file.
This project can serve as a chance to get your feet wet with Perl 6; No particular knowledge about Perl 6 is required, but you'll get to see a lot of it.
Note that Rakudo is the name of the most complete Perl 6 compiler; it will be the first one that is shipped to meet the Perl 6 spec.
Tasks for this project can include
-
Insuring all todo/skipped tests have an RT that is documented in the test file
-
Fudging existing test files so they are run, even if they don't pass yet.
-
Helping design a system that lets us cut a copy of the initial Perl 6 Spec from the roast repository.
Roast is currently a living document that changes in concert with the various implementations. We need to pick a set of tests, and a version of those tests, that correspond to the Perl6-2015 spec. Should work with the existing "fudge" system used to mark tests for various implementations.
-
Actually fixing Rakudo Perl 6 so it passes fudged tests!
If you want to be able to get an head start, you'll want to bring a laptop that already has a working Perl 6 Rakudo checkout. Follow these steps to have a Perl 6 you can hack on.
-
Clone Rakudo
https://github.com/rakudo/rakudo.git
is the https clone url from github. -
Build Rakudo
Rakudo has multiple possible backends; for speed of development and completeness, we'll be using the MoarVM backend for this project. First we configure Rakudo for installation in our build directory (./install) with:
perl Configure.pl --backends=moar --gen-moar
This requires that you have git in your path and will grab a copy of NQP (Not Quite Perl 6), which in turn will grab a copy of the MoarVM (a virtual machine designed and built specifically for Perl 6). If you can't get a git binary, I can step you through on the day off to clone things into the proper places for building. Once the config is done, then build it:
make -j install
ornmake install
This will generate a
./perl6
executable. You can now experiment with ./perl6 - there's a REPL prompt if executed with no args, it supports -e like./perl
. -
Test Rakudo
To run the rakudo-specific tests, use
make test
. To run the specification tests, usemake spectest
ormake stresstest
(The latter runs a lot more tests, some long running). The last two targets here will check out a copy of the perl 6 test suite locally via git again.
Now that you have a working copy of Perl 6 locally, check out http://examples.perl6.org/, http://docs.perl6.org/, and http://design.perl6.org/ for sample code, docs, and design docs.
Will Coleda, [email protected] (Mentor)
Justin DeVuyst, [email protected]
Steve Lembark <[email protected]> (Mentor, sort of...)