Testing Perl 6/Rakudo
Todd Rinaldo talked with Patrick Michaud, the Perl 6 Pumpking, at YAPC::NA this year. Patrick agreed to talk to the group about testing Perl 6.
He updated us on the general state of Perl 6 and clarified that there are actually more than one implementation of Perl 6 at this time. The Pugs implementation, written in Haskell, has been out for some time. The newest implementation is Rakudo, which runs directly on Parrot.
He went on to describe a major testing effort at the moment, which is verifying the Perl 6 implementations against the specifications. This effort consists of several activities. The most obvious is reading the Synopses and generating tests. In addition, there are a large number of tests in the Pugs suite that are not organized by synopsis, these need to be verified and organized. The group also runs the tests on a regular basis to verify which tests work on which implementations.
Patrick pointed us to a set of resources to help join the effort:
- http://svn.perl.org/parrot/trunk
- This is the trunk of the Parrot repository.
- http://svn.pugscode.org/pugs/t/spec
- This is the trunk of the specifications testing. It should be checked
out in your parrot sandbox under
languages/perl6/t/spec
. - perl6compiler mailing list
- more concrete, focus on how does it actually work
- perl6language mailing list
- focus on how it should work
- perl6users mailing list
- for users of the language, not developers of the language
- #perl6 on irc.freenode.net
- focus on Perl 6 development
- #parrot on irc.perl.org
- focus on Parrot development
Patrick suggested that anyone wanting to help on the testing could dig in to the synopses and get started working through the tests. He said the synopses that we need the most help on right now would be:
- S12 - Objects
- S02 - Bits and Pieces
- S03 - Operators
- S04 - Blocks and Statements
- S06 - Subroutines
- S29 - Functions
- S05 - Rules (the new regular expressions)