On behalf of the Rakudo and Perl 6 development teams, I’m happy to announce the January 2011 release of “Rakudo Star”, a useful and usable distribution of Perl 6. The tarball for the January 2011 release is available from http://github.com/rakudo/star/downloads.
Starting with this January 2011 release, Rakudo Star releases will be created on a three-month cycle, or as needed in response to important bug fixes or improvements. (The Rakudo compiler will continue with monthly releases.) The next planned release of Rakudo Star will be in April 2011.
Rakudo Star is aimed at “early adopters” of Perl 6. We know that it still has some bugs, it is far slower than it ought to be, and there are some advanced pieces of the Perl 6 language specification that aren’t implemented yet. But Rakudo Perl 6 in its current form is also proving to be viable (and fun) for developing applications and exploring a great new language. These “Star” releases are intended to make Perl 6 more widely available to programmers, grow the Perl 6 codebase, and gain additional end-user feedback about the Perl 6 language and Rakudo’s implementation of it.
In the Perl 6 world, we make a distinction between the language
(“Perl 6”) and specific implementations of the language such as “Rakudo Perl”. The January 2011 Star release includes release #37 of the Rakudo Perl 6 compiler , version 3.0.0 of the Parrot Virtual Machine , and various modules, documentation, and other resources collected from the Perl 6 community.
This release of Rakudo Star adds the following features over the previous Star release:
* faster subroutine calls (type cache)
* implemented ‘handles Rolename’ trait
* ‘use Devel::Trace’ debugging pragma
* improved parsing of keyword boundaries
* faster .comb
There are some key features of Perl 6 that Rakudo Star does not yet handle appropriately, although they will appear in upcoming releases. Some of the not-quite-there features include:
* nested package definitions
* binary objects, native types, pack and unpack
* typed arrays
* state variables
* threads and concurrency
* Unicode strings at levels other than codepoints
* pre and post constraints, and some other phasers
* interactive readline that understands Unicode
* backslash escapes in regex <[…]> character classes
* non-blocking I/O
* most of Synopsis 9
* perl6doc or pod manipulation tools
In many places we’ve tried to make Rakudo smart enough to inform the programmer that a given feature isn’t implemented, but there are many that we’ve missed. Bug reports about missing and broken features are welcomed at email@example.com.
See http://perl6.org/ for links to much more information about Perl 6, including documentation, example code, tutorials, reference materials, specification documents, and other supporting resources. An updated draft of a Perl 6 book is available as <docs/UsingPerl6-draft.pdf> in the release tarball.
The development team thanks all of the contributors and sponsors for making Rakudo Star possible. If you would like to contribute, see http://rakudo.org/how-to-help, ask on the firstname.lastname@example.org mailing list, or join us on IRC #perl6 on freenode.