Update to Rakudo Star Release 2015.03
2015-03-21
A useful, usable, "early adopter" distribution of Perl 6
On behalf of the Rakudo and Perl 6 development teams, I'm happy to announce the March 2015 release of "Rakudo Star", a useful and usable distribution of Perl 6. The tarball for the March 2015 release is available from http://rakudo.org/downloads/star/.
This Rakudo Star release comes with support for the MoarVM
backend (all module tests pass on supported platforms) along with
experimental support for the JVM backend (the modules Bailador
,
Digest::MD5
and Grammar::Profiler::Simple
are known to fail tests).
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 2015.03 of the Rakudo Perl 6 compiler, version 2015.03 of MoarVM, plus various modules, documentation, and other resources collected from the Perl 6 community.
Some of the new compiler features added to this release include:
- several renames of semi-internal methods. Please refer to the Rakudo 2015.03 release notes for the full list
- Allow
Buf.AT-POS
to return an l-value. - Implement
method ^foo($) { ... }
syntax. - Implemented PairMap (the simple case only, for now).
- Implemented
.antipairs
(pairs with value => key). - Implemented pairup for creating pairs from lists.
- Implemented
LEXICAL
,OUTERS
andCALLERS
pseudo-packages - Add
array[T]
, usable for nativeint
/num
(MoarVM only for now) - Other native improvements, e.g.
my int $a; $a++
- Implement
IO::Path.resolve
on r-m/POSIX
In future, the nqp::
namespace willl only be available after a declaration
like use nqp;
.
Changes to modules included in Rakudo Star:
- DBIish supports local Sockets on mysql, and now correctly handles returned NULL values in the Pg backend
- doc ships with much more documentation
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:
- advanced macros
- threads and concurrency (in progress)
- Unicode strings at levels other than codepoints
- interactive readline that understands Unicode
- non-blocking I/O (in progress)
- much of Synopsis 9 and 11
There is an online resource at http://perl6.org/compilers/features that lists the known implemented and missing features of Rakudo's backends 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 [email protected].
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. A 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 [email protected] mailing list, or join us on IRC #perl6 on freenode.