On behalf of the Rakudo development team, I'm pleased to announce the December 2009 development release of Rakudo Perl #24 "Seoul". Rakudo is an implementation of Perl 6 on the Parrot Virtual Machine. The tarball for the December 2009 release is available from http://github.com/rakudo/rakudo/downloads.
Due to the continued rapid pace of Rakudo development and the frequent addition of new Perl 6 features and bugfixes, we recommend building Rakudo from the latest source, available from the main repository at github. More details are available at http://rakudo.org/how-to-get-rakudo.
Rakudo Perl follows a monthly release cycle, with each release code named after a Perl Mongers group. The December 2009 release is code named "Seoul" for Seoul.pm, who hosted Jonathan so well recently, and because they have a cake duck.
Shortly after the October 2009 (#22) release, the Rakudo team began a new branch of Rakudo development ("ng") that refactors the grammar to much more closely align with STD.pm as well as update some core features that have been difficult to achieve in the master branch. Most of our effort for the past month has been in this new branch, but as of the release date the new version had not sufficiently progressed to be the release copy. We expect to have the new version in place in the January 2010 release, but may elect to have an interim release from the new branch before then.
This release of Rakudo requires Parrot 1.9.0. One must still perform
make install in the Rakudo directory before the
executable will run anywhere other than the Rakudo build directory. For the
latest information on building and using Rakudo Perl, see the readme file
section titled "Building and invoking Rakudo".
Some of the specific changes and improvements occuring with this release include:
The Perl 6 language specification is still in flux. Please take note of the following changes, which might affect your existing programs. In the next release of Rakudo, the deprecated features will likely be gone.
Mu. The type
undef is gone. You can replace it with other
constructs, depending on context:
Nilis undefined in item context, and the empty list in list context
Muis the most general undefined value which does not flatten in list context
$obj ~~ undefby
$obj ~~ *.notdef
The development team thanks all of our contributors and sponsors for making Rakudo Perl possible. If you would like to contribute, see http://rakudo.org/how-to-help, ask on the email@example.com mailing list, or ask on IRC #perl6 on freenode.
The next release of Rakudo (#25) is scheduled for January 21, 2010. A list of the other planned release dates and codenames for 2010 is available in the docs/release_guide.pod file. In general, Rakudo development releases are scheduled to occur two days after each Parrot monthly release. Parrot releases the third Tuesday of each month.