On behalf of the Rakudo and Perl 6 development teams, I’m happy to
announce the April 2012 release of “Rakudo Star”, a useful and
usable distribution of Perl 6. The tarball for the April 2012
release is available from github.
In the Perl 6 world, we make a distinction between the language
(“Perl 6″) and specific implementations of the language such as
“Rakudo Perl”. This Star release includes release 2012.04.1  of the
Rakudo Perl 6 compiler , version 4.3 of the Parrot Virtual
Machine , and various modules, documentation, and other
resources collected from the Perl 6 community.
Here are some of the major improvements in this release over the
previous distribution release.
* much improved startup time
* much more robust module precompilation
* autovivification for arrays and hashes is implemented again
* many phasers like PRE, POST and REDO are now implemented
* improved support for calling C functions and modelling structs and arrays
* now includes modules URI, LWP::Simple, jsonrpc and Bailador (a Perl 6 port
This release also contains a range of bug fixes, improvements to error
reporting and better failure modes. Many more exceptions are thrown
as typed exceptions.
Some notable incompatible changes from the previous release include
* the ‘lib’ directory is not included in the default module search path
anymore. You can manipulate the search path with the PERL6LIB environment
* ‘defined’ used to be a prefix operator, and is now a regular subroutine.
This means you must updated code that relies ‘defined’ taking only one
argument. For example ‘defined $x ?? $a !! $b’ should be written as
‘$x.defined ?? $a !! $b’ or ‘defined($x) ?? $a !! $b’.
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:
* pack and unpack
* threads and concurrency
* Unicode strings at levels other than codepoints
* interactive readline that understands Unicode
* non-blocking I/O
* much of Synopsis 9
There is a new online resource at http://perl6.org/compilers/features
that lists the known implemented and missing features of Rakudo Star
2012.04 and other Perl 6 implementations.
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.
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
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 , ask on the firstname.lastname@example.org
mailing list, or join us on IRC #perl6 on freenode.